javascript中如何判斷一個新創建對象是無屬性的空對象?

我們知道,在js中創建一個新對象時會引用所繼承對象的原型,這個原型要麼是你之前定義好的已有對象,要麼是js的內置對象或在瀏覽器重的其他宿主對象。新對象創建完成後,新對象中會包含所繼承的對象的屬性。但是如果新對象沒有添加自己的自有屬性的話,那麼我們可以人爲這個對象是一個空對象。


var o = new Object();  //或者 var o = {};

上面語句創建了一個新對象o,這時對象o中除了從Object對象中繼承的屬性和方法外沒有任何自有屬性或方法。那麼我們就可以通過判斷o中是否存在自有屬性或方法來判斷該對象是否是“空對象“。

//方法如下
function isNullObject(obj){
    for(var p in obj){
        if(obj.hasOwnProperty(p)){
            return false;  //有自有屬性或方法,返回false
        }
    }
    return true;  //沒有自有屬性或方法,返回true,該對象是空對象
}
利用上面的方法,我們就可以判斷出一個對象到底是否是空對象了,小夥伴們可以去測試一下了。。。

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