我可以在javascript的定义中使用setInterval吗;“类”;?
每次实例化一个类时,我都想在javascript中启动一个我可以在javascript的定义中使用setInterval吗;“类”;?,javascript,Javascript,每次实例化一个类时,我都想在javascript中启动一个setInterval方法(我知道,我不应该在javascript中调用它class…)。setInterval每500毫秒调用一次类方法update。这是我的密码: function Test(a) { this.a = a; this.b = 0; this.interval = setInterval(this.update, 500); }; Test.prototype.update = function() {
setInterval
方法(我知道,我不应该在javascript中调用它class…)。setInterval
每500毫秒调用一次类方法update
。这是我的密码:
function Test(a) {
this.a = a;
this.b = 0;
this.interval = setInterval(this.update, 500);
};
Test.prototype.update = function() {
console.log(this.b);
this.b += 1;
if (this.b > 10) clearInterval(this.interval);
};
但是当我用
var mytest=new Test(1)
实例化这个类时,类属性b
在第一次调用中似乎是未定义的,随后是NaN(因为将1添加到未定义中会产生NaN)。为什么b
在第一次调用中不是0
?当触发setInterval时,此的范围会改变<代码>此
将显示在窗口中
。要维护范围,可以使用
谢谢。这很有效。
setInterval(this.update.bind(this), 500);