![](/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.