如何在对象上创建不可枚举的属性,以便它不会出现在for..in循环中,但是否则可以使用 Object.property 语法进行访问? / p>
答案 0 :(得分:2)
您可以使用Object.defineProperty
执行此任务。在enumerable
旁边,您还可以设置writable
和configurable
(可删除)属性。
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'
}