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