我們知道,在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,該對象是空對象
}
利用上面的方法,我們就可以判斷出一個對象到底是否是空對象了,小夥伴們可以去測試一下了。。。