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)容了,希望大家能夠喜歡。
相關文章
基于 webpack2 實現(xiàn)的多入口項目腳手架詳解
這篇文章主要給大家介紹了基于 webpack2 實現(xiàn)的多入口項目腳手架的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-06-06javascript同頁面多次調(diào)用彈出層具體實例代碼
一個在同一個頁面可多次調(diào)用的javascript彈出層效果,有需要的同學可以參考一下2013-08-08TypeScript中的類型斷言[as語法|<>語法]的使用
本文主要介紹了TypeScript中的類型斷言[as語法|<>語法]的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06JavaScript實現(xiàn)鼠標經(jīng)過表格行給出顏色標識
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)鼠標經(jīng)過表格行給出顏色標識,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04JS實現(xiàn)動態(tài)生成表格并提交表格數(shù)據(jù)向后端
這篇文章主要為大家詳細介紹了JS實現(xiàn)動態(tài)生成表格并提交表格數(shù)據(jù)向后端的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01