作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MDN状态:
Also, when iterating over the properties of an object, every enumerable property that is on the prototype chain will be enumerated.
所以我尝试了这个:
var x = {a: "I am a"};
var z = Object.create(x);
for( i in z )
{
console.dir( i );
if( i == "hasOwnProperty" ) {
console.log( 'found hasOwnProperty' );
}
}
仅输出 a
但不输出 hasOwnProperty
。为什么?
最佳答案
因为 Object.prototype.hasOwnProperty
是不可枚举的:
Object.getOwnPropertyDescriptor(Object.prototype, 'hasOwnProperty')
.enumerable // false
因此,它不会被 for...in
循环迭代。
关于JavaScript 遍历对象属性和原型(prototype)链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224973/
我是一名优秀的程序员,十分优秀!