【JavaScript】 判斷空對象區別於null、undefined

{}就是一個空對象,由於沒有任何屬性和方法,所以可以利用這一特點進行區別:

1
2
3
4
5
6
7
8
function isEmpty (object) {
for (var i in object) {
// 存在屬性或方法,則不是空對象
reutrn false;
}
return true;
}

代碼測試如下:

1
2
isEmpty({}); // true
isEmpty(null); // true

JavaScript裏有個坑,即null也是個Object呀!!
如下代碼輸出:

1
2
3
4
5
// 輸出 object
console.log((typeof null));
// 輸出 [object Null]
console.log(Object.prototype.toString.call(null));

所以要更加具體的區分出null undefined,稍加改進如下:

1
2
3
4
5
6
7
8
9
10
11
function isEmpty (object) {
if (object === null || object === undefined) {
return false;
}
for (var i in object) {
// 存在屬性或方法,則不是空對象
reutrn false; // sodino.com
}
return true;
}

About Sodino

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章