[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
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题