javascript中如何判断一个新创建对象是无属性的空对象?

版权声明:本文为博主原创文章,如需转载请注明出处,谢谢。 https://blog.csdn.net/zhouxingxingzxy/article/details/49903249

我们知道,在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,该对象是空对象
}
利用上面的方法,我们就可以判断出一个对象到底是否是空对象了,小伙伴们可以去测试一下了。。。

猜你喜欢

转载自blog.csdn.net/zhouxingxingzxy/article/details/49903249