Javascript 使用其他参数调用函数的setInterval
我有一个名为“showCustomer”的函数,它获取1-5之间的数字并返回一些东西 我想使用setInterval,每5秒运行一次此函数,但使用另一个数字 它不起作用,我不明白为什么它对我不起作用。这是代码Javascript 使用其他参数调用函数的setInterval,javascript,setinterval,Javascript,Setinterval,我有一个名为“showCustomer”的函数,它获取1-5之间的数字并返回一些东西 我想使用setInterval,每5秒运行一次此函数,但使用另一个数字 它不起作用,我不明白为什么它对我不起作用。这是代码 setInterval(function () { var i = 1; showCustomer(i); i++; }, 5000); 只需将变量i的声明移动到setInterval()调用之前即可: var i = 1; setInterval(functi
setInterval(function () {
var i = 1;
showCustomer(i);
i++;
}, 5000);
只需将变量
i
的声明移动到setInterval()调用之前即可:
var i = 1;
setInterval(function () {
showCustomer(i);
i++;
}, 5000);
您为setInterval
设置为回调的匿名函数在代码中每5秒调用一次。在每次调用中,您都将i
设置为1,这样每次都会重置它
将i
移到setInterval
回调之外,使其保持当前值。每次使用var
时,都会重新声明该变量的值。因此,您只需申报一次计数器
每次浏览器调用回调showCustomer
时,if语句
都会评估浏览器是否应该进行新调用
clearInvertal()
这是停止setInterval()
方法的方法
var id=1;
var show5times=window.setInterval(showCustomer,5000);
函数showCustomer(){
警报(id);
id++;
如果(id>5){
窗口清除间隔(显示5次);
}
}
谢谢,但当我等于5岁时,我怎么能停下来重新开始呢?@Maxim--请看。事先搜索总是一种很好的做法。我看了这篇文章,但不明白。@Maxim--但它很直截了当。在变量中指定setInterval
的返回值,例如x
。在回调中,检查是否i==5
,然后使用x
调用clearinterval
。