[js] 举例说明Object.defineProperty会在什么情况下造成循环引用导致栈溢出?
var data = {
count: 1,
value: 2
}
Object.defineProperty(data, 'count', {
enumerable: true,
configurable: true,
get: function () {
console.log('你访问了count', this.count); // 循环读取data.count 导致报错
return this.value
},
set: function (newVal) {
console.log('你设置了count');
}
})
console.log(data.count) // 报错 Maximum call stack size exceeded
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论