//没有检测继承属性
function isEmptyObj(obj){
for(var i in obj){
if(i){
return false;
}
}
return true;
}
var a = {name:"aa"};
function p(){}
p.prototype.name = "aa";
console.log(isEmptyObj(a)); // ==> false
console.log(isEmptyObj(new p())); // ==> false
//检测继承属性
function isEmptyObj(obj){
for(var i in obj){
if(obj.hasOwnProperty(i)){
if(i){
return false;
}
}
}
return true;
}
var a = {name:"aa"};
function p(){}
p.prototype.name = "aa";
console.log(isEmptyObj(a)); // ==> false
console.log(isEmptyObj(new p())); // ==> true

本文介绍两种检查JavaScript对象是否为空的方法:一种忽略继承属性,另一种包括继承属性。通过具体示例展示了如何使用hasOwnProperty方法来区分对象自身属性与继承属性。
7494

被折叠的 条评论
为什么被折叠?



