ECMAscript 3是不可能的(这是2010年提出此问题时主要的浏览器所采用的功能)。但是,在所有主要浏览器的当前版本都实现的ECMAscript 5中,可以将属性设置为不可枚举:
var obj = { name: "Fred"};Object.defineProperty(obj, "age", { enumerable: false, writable: true});obj.age = 75;for (var i in obj) { console.log(i + "=>" + obj[i]);}
请注意,该属性还必须在调用中设置为可写,Object.defineProperty以允许正常分配(false默认情况下)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)