gpt4 book ai didi

JavaScript - 未捕获范围错误 : Maximum call stack size exceeded

转载 作者:太空宇宙 更新时间:2023-11-04 15:42:18 25 4
gpt4 key购买 nike

我在使用此代码时遇到错误

var book = {
year: 2004,
edition: 1
};

Object.defineProperty(book, "year", {
get: function(){
return this.year;
},
set: function(newValue){

if (newValue > 2004) {
this.year = newValue;
this.edition += newValue - 2004;
}
}
});

book.year = 2005;
alert(book.edition);

警告告诉我错误发生在 Object.set [asyear]this.year = newValue;我很困惑为什么设置年份会导致这个错误?

最佳答案

当您设置年份属性时,您会隐式调用 set 函数。

set 函数设置年份属性(如果值 > 2004)。

所以:

  1. 您将年份属性设置为 2005
  2. set 函数将年份属性设置为 2005
  3. GOTO 2 并无限循环

关于JavaScript - 未捕获范围错误 : Maximum call stack size exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43780287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com