propertyIsEnumerable不能用來判斷原型鏈繼承過來的屬性
4-3 屬性操作,16頁最后一行,propertyIsEnumerable對于自身不存在的屬性都是返回false的,對于原型鏈繼承過來的屬性不能判斷是否Enumerable ?驗證如下:
function foo(){}
foo.prototype.z=3
var d = Object.getOwnPropertyDescriptor(foo.prototype,'z')
var f =new foo()
console.log('z' in f);
console.log(f.hasOwnProperty('z'));
console.log(f.propertyIsEnumerable('z'))
console.log(d)
2015-10-31
propertyIsEnumerable本意是用來判斷屬性可否枚舉
hasOwnProperty判斷是否屬于對象本身的屬性,