__defineGetter__只能覆盖,有没有__removeGetter__这种呢?因为把对象当哈希表时,总要避讳__proto__特殊键的存在是很烦的…(Object.create(null)也无法解决这个问题)后来才发现,它不是一个引擎层的死设定,而是做成了getter/setter模式,换言之是有可能透明处理的,所以才有此一问。——要是__proto__特殊属性当时做成Symbol.iterator那样该多好…
1 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
供参考
function cleanse (obj) {
var proto
Object.defineProperty(obj, '__proto__', {
enumerable: true,
configurable: true,
get: function () { return proto },
set: function (val) { proto = val }
})
return obj
}
var a = cleanse({})
a.__proto__ = 2
哈希表最好还是用 Map
添加回答
举报
0/150
提交
取消