propertyIsEnumerable用法
语法和功能
obj.propertyIsEnumerable(prop):
判断prop属性是否是obj的可枚举属性
eg:
var o = {};
var a = [];
o.prop = 'is enumerable';
a[0] = 'is enumerable';
o.propertyIsEnumerable('prop'); //true
a.propertyIsEnumerable(0); //true
Tips 注意事项
继承的属性显示为false.必须是 自身的属性
eg:function A() {} // 构造函数A A.prototype.AMethod = function(){console.log(1)}; function B() {} // 构造函数B B.prototype = new A(); B.prototype.constructor = B; var o = new B(); o.oself = function() {}; o.AMethod(); // 通过原型链继承了AMethod方法 o.propertyIsEnumerable('AMethod'); // false 因为AMethod是继承的属性,所以false o.propertyIsEnumerable('oself'); // true 因为oself 是 o 的自身属性在原型链上propertyIsEnumerable不被考虑,尽管constructor可以在for-in循环中被循环出来
eg:var a = []; a.propertyIsEnumerable('constructor'); // false a.propertyIsEnumerable('prototype'); // false
本文介绍了JavaScript中propertyIsEnumerable方法的使用方法及注意事项。该方法用于判断指定属性是否为对象的可枚举属性,并强调只有对象本身的属性才能被检测到,继承来的属性将返回false。
156

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



