gpt4 book ai didi

javascript - 将 `Object.defineProperty` 与 RangeError 一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:24:29 26 4
gpt4 key购买 nike

我正在尝试使用 Object.defineProperty 更新我的 obj 对象以具有 getset obj.name 上的访问器。

var obj = {};

Object.defineProperty(obj, 'name', {
get: function() { return this.name; },
set: function(x) { this.name = x; }
});

console.log("obj:", obj);
console.log("obj.name:", obj.name);

但是我得到了一个Uncaught RangeError: Maximum call stack size exceeded

如何使用 Object.definePropertyname 属性上添加 getset 访问器 对象?

http://jsfiddle.net/kman007_us/ZwYp6/

最佳答案

当你得到obj.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
当获取this.name时,调用get函数,返回this.name的值。
未捕获的 RangeError:超出最大调用堆栈大小。


尝试使用 return this.__name;this.__name = x; 代替。

关于javascript - 将 `Object.defineProperty` 与 RangeError 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938419/

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