如何使用「setInterval」的「call」來獲取對象字面值來調用其自己的方法之一?使用setInterval調用Javascript綁定
下面是一個例子。 這工作,我明白它爲什麼工作。 定時器對象調用它自己的蜱方法一旦每個第二
var timer =
{
start: function()
{
var self = this;
setInterval(function(){self.tick();}, 1000);
},
tick: function()
{
console.log("tick!");
}
};
timer.start();
我試圖通過使用「呼叫」來簡化此代碼。 下一個例子是我想到的最好的例子。 但它不起作用:tick方法只被調用一次,然後出現類型錯誤。
var timer =
{
start: function()
{
setTimeout.call(this, this.tick(), 1000);
},
tick: function()
{
console.log("tick!");
}
};
timer.start();
我想我真的不明白電話是如何工作的。 任何人都可以解釋我做錯了什麼?
謝謝!
請參閱本http://stackoverflow.com/questions/6112330/javascript-settimeout-call-error –