如何使用“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 –