我已经定义了一个对象并使用javascript的defineProperty方法定义了一个属性。无法使用defineProperty方法在对象中设置属性
var obj ={};
Object.defineProperty(obj,'b',{get:function(){
return 5},
set:function(value){
this.b = value}
});
,但是当我使用下面的语句设置b的值
obj.b = 25
它给我
的RangeError:最大调用堆栈大小超过
如何设置b的值?
从'b'删除'this'。在set方法中将其设置为'b = value',让我知道是否有效。 –
这是你的浏览器?它是否与defineProperty兼容? –
我没有在浏览器上执行此操作。我正在使用节点的repl。 @RicardoPontual –