propertyIsEnumerable()用来检测属性是否可枚举,返回一个布尔值
语法
obj.propertyIsEnumerable("属性名")
- 这个属性必须属于实例的而不是属于原型的;
- 这个属性必须是可枚举的,也就是自定义属性;
如果符合以上两个要求,就会返回true,否则返回false
function Person(){
this.name="我是实例属性";
}
var p=new Person();
console.log(p.propertyIsEnumerable("name")); //true
Person.prototype.prop="我是原型属性";//添加一个原型属性
console.log(p.propertyIsEnumerable("prop"));//false prop是继承自原型上的属性,所以返回的是false
for(var k in p){
console.log(k+","+p[k]);//name,我是实例属性 prop,我是原型属性
}