- 相關(guān)推薦
Javascript中如何判斷對象是否為空
發(fā)現了一個(gè)巧妙的實(shí)現: 需要檢查一個(gè)對象(Object)是否為空,即不包含任何元素。Javascript 中的對象就是一個(gè)字典,其中包含了一系列的鍵值對(Key Value Pair)。檢查一個(gè)對象是否為空,等價(jià)于檢查對象中有沒(méi)有鍵值對。寫(xiě)成代碼,形如:
if (isEmptyObject(obj)) { // obj is empty} else { // not empty}
至于 isEmptyObject 的實(shí)現,jQuery 中有一個(gè)很有想法的方式,請看代碼:
function isEmptyObject(obj) { for (var key in obj) { return false; } return true;}
盡管 Javascript 沒(méi)有原生提供 isEmpty() 方法,但它提供了迭代器,可以用來(lái)遍歷所有的鍵值對。于是 jQuery 所做的事情,就是嘗試遍歷,如果有任何一個(gè)鍵值對,即說(shuō)明對象非空,直接返回 false。從效率上來(lái)說(shuō),由于只讀取了一個(gè)元素,頂多加上一些跳出循環(huán)的開(kāi)銷(xiāo),實(shí)際性能不會(huì )比原生方法差太多。這是一個(gè)非常巧妙的實(shí)現。
注:有網(wǎng)友指出 ES5 中提供了 Object.getOwnPropertyNames 方法來(lái)獲取所有的元素鍵。它的返回值是一個(gè)數組,當數組長(cháng)度為零時(shí),說(shuō)明對象為空。
【Javascript中如何判斷對象是否為空】相關(guān)文章:
JavaScript中的三種對象10-24
如何判斷藥品是否失效07-02
DOS中判斷進(jìn)程是否存在的方法07-05
Javascript中arguments對象的詳解和使用方法08-20
javascript克隆對象深度介紹07-25
懷孕了的征兆有哪些-如何判斷自己是否懷孕07-14