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