Javascript中判斷對象是否為空
發(fā)現(xiàn)了一個巧妙的實現(xiàn): 需要檢查一個對象(Object)是否為空,即不包含任何元素。Javascript 中的對象就是一個字典,其中包含了一系列的鍵值對(Key Value Pair)。檢查一個對象是否為空,等價于檢查對象中有沒有鍵值對。寫成代碼,形如:
if (isEmptyObject(obj)) {
// obj is empty
} else {
// not empty
}
至于 isEmptyObject 的實現(xiàn),jQuery 中有一個很有想法的方式,請看代碼:
function isEmptyObject(obj) {
for (var key in obj) {
return false;
}
return true;
}
盡管 Javascript 沒有原生提供 isEmpty() 方法,但它提供了迭代器,可以用來遍歷所有的鍵值對。于是 jQuery 所做的事情,就是嘗試遍歷,如果有任何一個鍵值對,即說明對象非空,直接返回 false。從效率上來說,由于只讀取了一個元素,頂多加上一些跳出循環(huán)的開銷,實際性能不會比原生方法差太多。這是一個非常巧妙的實現(xiàn)。
注:有網(wǎng)友指出 ES5 中提供了 Object.getOwnPropertyNames 方法來獲取所有的元素鍵。它的返回值是一個數(shù)組,當數(shù)組長度為零時,說明對象為空。
相關文章
JavaScript實現(xiàn)select添加option
這篇文章主要介紹了JavaScript為select添加option的方法和示例,十分的簡單實用,有需要的小伙伴可以參考下。2015-07-07
document.getElementById為空或不是對象的解決方法
document.getElementById為空或不是對象的解決方法,一般情況下注意先內(nèi)容后js.2010-01-01
JS Excel讀取和寫入操作(模板操作)實現(xiàn)代碼
前一段時間一直在做報表,所以肯定會用到Excel的操作,但是在網(wǎng)上查閱資料有關JS操作excel較少,有的話,也都是老生常談或很零碎的一些東西。2010-04-04

