JS/Jquery判斷對象為空的方法
發(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)的開銷,實際性能不會比原生方法差太多。
function isNullObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
return false;
}
}
return true;
}
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
移動端翻頁插件dropload.js(支持Zepto和jQuery)
這篇文章主要為大家詳細介紹了移動端翻頁插件dropload.js,支持Zepto和jQuery,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07
javascript中的undefined 與 null 的區(qū)別 補充篇
在Javascript中有兩個值用來代表類似空值的概念,undefined和null,這兩個很容易被混淆,他們表示的是兩個不同的概念。2010-03-03
ES6?數(shù)組some()和every()的使用及說明
這篇文章主要介紹了ES6?數(shù)組some()和every()的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
JS與HTML結(jié)合實現(xiàn)流程進度展示條思路詳解
基于js與html相結(jié)合實現(xiàn)的流程進度展示條,非常實用,在各大網(wǎng)站都可以用到,下面小編給大家?guī)砹薐S與HTML結(jié)合實現(xiàn)流程進度展示條思路詳解,需要的朋友參考下吧2017-09-09

