2016-04-05 209 views
0

如何在對象上創建非可枚舉屬性,以便它不會顯示在for..in循環中,但否則可以使用Object.property語法訪問?Javascript非可枚舉屬性

回答

2

您可以使用Object.defineProperty進行任務。除enumerable外,還可以設置writableconfigurable(可刪除)屬性。

var obj = {a: 1}; 
 

 
Object.defineProperty(obj, 'b', { 
 
    value: 2, 
 
    enumerable: false, 
 
}); 
 

 
console.log(obj.b); //2 
 
for (var key in obj) { 
 
    alert(key); //just 'a' 
 
}