有没有办法创建一个javascript微库(没有依赖的库),它支持以下所有模块格式:
我有一个对象p,有一个可枚举的x.
var p = Object.create(Object.prototype, {
x: {
value: "frog",
enumerable: true
}
});
Run Code Online (Sandbox Code Playgroud)
我创建了一个继承自p的对象,并使用非可枚举属性覆盖属性x
var o = Object.create(p, {
x: {
value: "bird",
enumerable: false
}
});
Run Code Online (Sandbox Code Playgroud)
您如何看待,属性x是否会在o的for循环中枚举?
for (var n in o) {
console.log(n);
}
Run Code Online (Sandbox Code Playgroud)
好吧,在Chrome和IE9中它将被枚举(我认为,这是非常奇怪的); 在FF中,它不会被列举.
哪一个是正确的行为?
这是一个完整的例子:http://jsfiddle.net/hnvsM/3/