js中一般判斷一個(gè)對(duì)象是否為空,可以寫(xiě)一個(gè)方法用for..in遍歷,然后返回是否為空,
function isEmptyObject(e) {
var t;
for (t in e)
return !1;
return !0
} ;
不過(guò)在ES5中對(duì)象有一個(gè)很奇妙的一個(gè)遍歷對(duì)象的方法,Object.keys(object);
這個(gè)方法接受一個(gè)對(duì)象作為參數(shù),對(duì)這個(gè)對(duì)象的鍵進(jìn)行遍歷,并返回一個(gè)數(shù)組集合。
到這里就顯而易見(jiàn)了。判斷數(shù)組為空有很多方法,取第一個(gè)元素、數(shù)組長(zhǎng)短等都可以判斷。
所以判斷一個(gè)對(duì)象為空一個(gè)寫(xiě)為:
console.log(Object.keys({}).length); //結(jié)果是0, 0的布爾值是false。
注:不要使用Object.keys({})[0],因?yàn)閷?duì)象的鍵可以為數(shù)字,類(lèi)似jq對(duì)象就是數(shù)組為0的對(duì)象,
例子:Object.keys({ 0: '測(cè)試' })[0] //結(jié)果是0,其實(shí)我們期望的正確結(jié)果是true,但是這個(gè)確實(shí)false