0
我收到以下錯誤在JavaScript中定義的二傳手「的RangeError:超過最大調用堆棧大小」。定義getter和setter方法在JavaScript
的碼4如下:
二傳手DEFN:
this.__defineSetter('_myList', function(list)
{
log.debug("in setter ....");
if(this._myList == list)
{
log.debug("in setter..");
return;
}
this._myList = list;
});
電話:
myMethod = function(msg)
{
try
{
this.myList = msg.myList;
}catch(e)
{
log.debug("error in calling setter... " + e);
}
}
我無法弄清楚爲什麼它會無限循環?
不調用setter函數相同功能的最後一條語句再次? – 2012-07-06 07:04:41
是啊,你只好去其他地方存儲值,其中,這是()'已棄用錯誤的思路和使用__defineSetter的':https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/DefineSetter我如果我是你,會避免使用這些API – ckozl 2012-07-06 07:07:44