javascript的propertyIsEnumerable()方法使用介紹
概述
propertyIsEnumerable()用來檢測屬性是否屬於某個對象的,如果檢測到了,返回true,否則false
語法
obj.propertyIsEnumerable("屬性名");
描述
每個對象都有propertyIsEnumerable()方法,這個方法可以判斷出指定的屬性是否可枚舉。
- 這個屬性必須屬於實例的,並且不屬於原型。
- 這個屬性必須是可枚舉的,也就是自定義的屬性。
- 如果對象沒有指定的屬性,該方法返回false
如果符合1和2兩個要求,就會返回true.
可枚舉: 如果一個屬性可以使用for in
能遍歷出,就是可枚舉的。
實例
下面例子使用propertyIsEnumerable()方法判斷實例屬性和原型屬性
function Person(){
this.name="我是實例屬性";
this.age=19;
}
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,我是實例屬性 age,19 prop,我是原型屬性
}