Nai*_*gel 8 javascript constructor object ecmascript-5 defineproperty
我正在尝试使用defineProperty使属性不出现在...循环中,但它不起作用.这段代码是否正确?
function Item() {
this.enumerable = "enum";
this.nonEnum = "noEnum";
}
Object.defineProperty(Item, "nonEnum", { enumerable: false });
var test = new Item();
for (var tmp in test){
console.log(tmp);
}
Run Code Online (Sandbox Code Playgroud)
kap*_*apa 18
Item没有命名的属性nonEnum(检查出来).它是一个(构造函数)函数,它将创建一个具有被调用属性的对象nonEnum.
所以这个会工作:
var test = new Item();
Object.defineProperty(test, "nonEnum", { enumerable: false });
Run Code Online (Sandbox Code Playgroud)
你也可以像这样编写这个函数:
function Item() {
this.enumerable = "enum";
Object.defineProperty(this, "nonEnum", {
enumerable: false,
value: 'noEnum'
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2323 次 |
| 最近记录: |