ngui/util
獲取Ngui
版本號(hào)字符串
String
}拋出致命異常
獲取字符串的哈希代碼值
獲取字符串的哈希值,與hashCode()
的區(qū)別在于,這個(gè)方法會(huì)將哈希代碼轉(zhuǎn)換為字符串
獲取自增id
每次調(diào)用都會(huì)將這個(gè)id
加1
并返回
編譯運(yùn)行一段javascript代碼并返回運(yùn)行結(jié)果,與eval
函數(shù)類似,但這個(gè)方法可以指定一個(gè)名稱與一個(gè)運(yùn)行上下文對(duì)像
如果要執(zhí)行Ngui js
or jsx
代碼需先使用 util.transformJs()
or util.transformJsx()
進(jìn)行轉(zhuǎn)換
名稱在調(diào)試代碼或程序發(fā)生異常時(shí)非常有用
如果不傳入這個(gè)沙盒sandbox
上下文默認(rèn)使用global
對(duì)像
source
{String
} javascript源代碼字符串name
{String
} 必需要指定這個(gè)名稱[sandbox]
{Object
}Object
} 返回執(zhí)行結(jié)果
轉(zhuǎn)換Ngui jsx
代碼為普通的可運(yùn)行的js
代碼
轉(zhuǎn)換失敗會(huì)拋出異常,成功則返回新的代碼
轉(zhuǎn)換Ngui js
代碼為普通的可運(yùn)行的js
代碼
轉(zhuǎn)換失敗會(huì)拋出異常,成功則返回新的代碼
空操作,調(diào)用后什么也不會(huì)做
把extd
是的屬性擴(kuò)展到obj
對(duì)像上
把extd
是的屬性更新到obj
對(duì)像上
會(huì)忽略obj
對(duì)像上不存在的屬性或類型不相同的屬性
創(chuàng)建一個(gè)Error
異常對(duì)像,可以通過(guò)異常字符串創(chuàng)建也可通過(guò)Object
對(duì)像創(chuàng)建
如果傳入?yún)?shù)已經(jīng)是一個(gè)Error
對(duì)像,不做任何處理立即返回
Example:
var e = util.err('Err')
var e2 = util.err({message:'Err'})
var e3 = util.err(e);
throw e;
拋出一個(gè)異常,如果傳入cb
會(huì)拋出一個(gè)回調(diào)異常
返回回調(diào),不傳入cb
會(huì)返回一個(gè)空函數(shù),如果傳入了cb
參數(shù)會(huì)立即返回并不會(huì)判斷其類型
測(cè)試回調(diào)函數(shù)的異常處理函數(shù)是否為默認(rèn)
Example:
// Prints: true
console.log(util.isDefaultThrow(function(){ }));
// Prints: false
console.log(util.isDefaultThrow(function(){ }.catch(e=>{ }));
通過(guò)點(diǎn)記名稱獲取對(duì)像屬性
通過(guò)點(diǎn)記名稱設(shè)置屬性值,并返回被更改的對(duì)像
通過(guò)點(diǎn)記名稱刪除對(duì)像屬性
Example:
var that = { a:{ b: { c: 100 } } };
// Prints: 100
console.log(util.get('a.b.c', that))
// Prints:
// {
// c: 100,
// c1: 200
// }
// {
// c: 100,
// c1: 200
// }
console.log(util.set('a.b.c1', 200, that))
console.log(that.a.b);
// Prints:
// {
// c: 100
// }
util.del('a.b.c1', that)
console.log(that.a.b);
獲取在start
到end
之間的隨機(jī)數(shù)
通過(guò)概率隨機(jī)獲取從0
到傳入概率數(shù)量arguments.length
的隨機(jī)數(shù)
傳入的概率之和不能為0
Example:
// Prints: 3 5 9
console.log(util.random(0, 10))
console.log(util.random(0, 10))
console.log(util.random(0, 10))
// Prints 0 3 2
console.log(util.fixRandom(10, 20, 30, 40))
console.log(util.fixRandom(10, 20, 30, 40))
console.log(util.fixRandom(10, 20, 30, 40))
深度克隆obj
對(duì)像
包裹obj
對(duì)像與Object.create()
功能相同
擴(kuò)展Class
Example:
class A { test() { } }
class B { test2() { } }
util.extendClass(B, A)
util.extendClass(B, { test3: function() { } })
測(cè)試兩個(gè)subclass
是否為baseclass
的子類或相同
選取值,如果value
的類型與default
相同選擇value
否則選擇default
通過(guò)名稱列表過(guò)濾obj
對(duì)像屬性,并返回過(guò)濾后的新Object
non=true
表示反選
Example:
// Prints:
//{
// a: "a",
// c: "c"
//}
//{
// b: "b",
// d: "d"
//}
var obj = { a:'a',b:'b',c:'c', d:'d' };
console.log(util.filter(obj, ['a', 'c'])
console.log(util.filter(obj, ['a', 'c'], true)
Array
}
解析后的啟動(dòng)參數(shù)Object
Object
}是否為開發(fā)狀態(tài)
bool
}獲取配置文件值
Object
}獲取當(dāng)前時(shí)區(qū)
int
}
更多建議: