js判斷空對象的實(shí)例(超簡單)
最近項(xiàng)目遇到判斷空對象的一個(gè)問題,查閱相關(guān)資料再進(jìn)行總結(jié)一下。
判斷空對象不比判斷空字符串之類的,因?yàn)榭諏ο笠彩且粋€(gè)對象,需要單獨(dú)分配內(nèi)存,而不是像字符串那樣為空時(shí)就是大鍋飯,大家都相等,如下代碼:

如上代碼可以發(fā)現(xiàn),無論是通過對象字面量方式創(chuàng)建的空對象還是通過Object構(gòu)造函數(shù)創(chuàng)建的空對象,彼此之間都是不相等的。
1.將對象轉(zhuǎn)換為字符串進(jìn)行比較
這種方法很不推薦,但也確實(shí)是最容易想到的,主要使用JSON.stringify()這個(gè)方法對對象進(jìn)行強(qiáng)轉(zhuǎn),貼出來僅供一看:
var a={};
var b=new Object();
console.log("對象字面量的比較結(jié)果:"+(JSON.stringify(a)=="{}"))
console.log("構(gòu)造函數(shù)的比較結(jié)果:"+(JSON.stringify(b)=="{}"))
我們可以得到兩種空對象轉(zhuǎn)換為字符串后的比較都為真,可以解決這個(gè)問題,但是不推薦,下面說第二種方法。
2.for in循環(huán)
使用for in循環(huán)可以遍歷所有屬性以次判斷對象是否為空對象:
var a={};
var b=new Object();
function isEmptyObject(obj){
for(var key in obj){
return false
};
return true
};
if(isEmptyObject(a)){
alert("a是個(gè)空對象")
}
if(isEmptyObject(b)){
alert("b是個(gè)空對象")
}
使用for in循環(huán)對對象進(jìn)行循環(huán)時(shí)循環(huán)屬性,相應(yīng)的對數(shù)組進(jìn)行循環(huán)時(shí)循環(huán)的是下標(biāo),如:
var b = ["hello","my","world"]
for(var index in b){
console.log(b[index]);
}
//hello my world
以上就是小編為大家?guī)淼模?biāo)題)全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Bootstrap Scrollspy源碼學(xué)習(xí)
這篇文章主要介紹了Bootstrap Scrollspy源碼學(xué)習(xí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
Javascript圖像處理思路及實(shí)現(xiàn)代碼
HTML5的canvas提供了getImageData接口來獲取canvas中的數(shù)據(jù),所以我們能夠先用drawImage接口將圖片畫在canvas上然后再通過getImageData得到圖片數(shù)據(jù)矩陣,需要了解的朋友可以詳細(xì)參考下2012-12-12
SlideView 圖片滑動(擴(kuò)展/收縮)展示效果
滑動展示效果主要用在圖片或信息的滑動展示,也可以設(shè)置一下做成簡單的口風(fēng)琴(Accordion)效果。2010-08-08
javascript算法題:求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號
這篇文章主要介紹了javascript算法題:求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號,需要的朋友可以參考下2015-04-04
用戶代理字符串userAgent可實(shí)現(xiàn)的四個(gè)識別
用戶代理字符串:navigator.userAgent ,本文給大家分享用戶代理字符串userAgent可實(shí)現(xiàn)的四個(gè)識別,需要的朋友可以參考下2015-09-09
javascript實(shí)現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)
javascript實(shí)現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)...2007-04-04
JavaScript實(shí)現(xiàn)沿五角星形線擺動的小圓實(shí)例詳解
這篇文章主要介紹了JavaScript實(shí)現(xiàn)沿五角星形線擺動的小圓實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

