![](/img/trans.png)
[英]JavaScript: How to Define a Non-Enumerable Method without using Object.defineProperty?
[英]javascript defineProperty to make an attribute non enumerable
我正在尝试使用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);
}
Item
没有名为nonEnum
的属性( 检查出来 )。 它是一个(构造函数)函数,它将创建一个具有名为nonEnum
的属性的对象。
所以这个会工作:
var test = new Item();
Object.defineProperty(test, "nonEnum", { enumerable: false });
你也可以像这样编写这个函数:
function Item() {
this.enumerable = "enum";
Object.defineProperty(this, "nonEnum", {
enumerable: false,
value: 'noEnum'
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.