我有一个对象p,使用可枚举的索引x。for ... in循环(JavaScript)中的继承的非可枚举属性
var p = Object.create(Object.prototype, {
x: {
value: "frog",
enumerable: true
}
});
我创建了一个对象,从p继承,并覆盖属性X,具有不可枚举的属性
var o = Object.create(p, {
x: {
value: "bird",
enumerable: false
}
});
你怎么看,将财产X被列举在... for循环中o?
for (var n in o) {
console.log(n);
}
那么,在Chrome和IE9中,它将被枚举(这是我认为,很奇怪);在FF中,它不会被列举。
哪一个是正确的行为?
下面是一个完整的例子:http://jsfiddle.net/hnvsM/3/