現(xiàn)在Javascript庫海量,流行的也多,比如jQuery,YUI等,雖然功能強(qiáng)大,但也是不萬能的,功能不可能涉及方方面面,這里給大家分享一個的JS庫是對這些的補(bǔ)充,很多也比較實(shí)用,把應(yīng)用到項(xiàng)目中中去也比較方面,這也是對工作的一些積累,也加深對知識的理解。
在工作中經(jīng)常會頻繁使用一些方法、或做類型判斷、數(shù)據(jù)轉(zhuǎn)換等,為了方便,將一些功能封裝成函數(shù)整理成工具集lao-utils
使用
Node.js
npm install lao-utils --save
AMD/CMD、瀏覽器環(huán)境
引入dist目錄下源碼文件
函數(shù)
uuid() 生成一個uuid串(偽guid)
is(x,y) 比較字符x和字符y是否相等
eg: 特殊例子:laoUtils.is(-0,+0); //false,laoUtils.is(NaN,NaN); //true
isInteger(value) 是否為整數(shù)
isNumber(value) 是否為數(shù)字
isString(value) 是否為字符串
isNaN(value) 是否為NaN
isDom(obj) 判斷obj是否為Dom對象
date(format,timestamp) 格式化日期
eg: laoUtils.date('yyyy-MM-dd'); //2016-02-26
copyObject(obj) 復(fù)制對象(淺拷貝,并且undefined屬性不會被復(fù)制)
clone(obj) 對一個object進(jìn)行深度拷貝
merge(a,b,c,...rest) 合并對象
eg: laoUtils.merge({a:1},{b:2},{b:3,c:3}); //{a:1,b:3,c:3}
arrayOf(a,b,c,...rest) 將一組值轉(zhuǎn)換為數(shù)組(將參數(shù)轉(zhuǎn)為數(shù)組)
eg: laoUtils.arrayOf(1,2,3); //[1,2,3]
includes(arr,value) 數(shù)組arr是否包含給定的值value.
eg: laoUtils.includes([1,2,3],3); //true
contains(str,value) 判斷一個字符串是否被包含在另一個字符串中.
eg: laoUtils.contains('giscafer','g'); //true
isArray(arr) 判斷arr是否為數(shù)組
inherits(clazz, baseClazz) 構(gòu)造類繼承關(guān)系(clazz繼承于baseClazz)
extend(des, source) 源對象source的所有屬性復(fù)制到目標(biāo)對象des(undefined屬性不會被復(fù)制)