我已經定義了一個對象並使用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 –