setInterval调用与其他arg的函数

时间:2018-04-14 08:52:59

标签: javascript setinterval

我有一个名为“showCustomer”的函数,可以获得1-5之间的数字并返回一些东西。

我想使用setInterval,每5秒运行一次这个函数,但是使用另一个数字。

它不起作用,我不明白为什么它不适合我。这是代码。

setInterval(function () {
    var i = 1;
    showCustomer(i);
    i++;
}, 5000);

2 个答案:

答案 0 :(得分:2)

只需在i来电之前移动变量setInterval()的声明:

var i = 1;

setInterval(function () {
    showCustomer(i);
    i++;
}, 5000);

您设置为setInterval回调的匿名函数会在代码中每5秒调用一次。在每次通话中,您都将i设置为1,每次都会重置它。

i移到setInterval回调之外会使其保持当前值。

答案 1 :(得分:0)

每次使用var时,都会重新声明该变量的值。所以你只应该宣布一次计数器。

每次浏览器调用回调showCustomer时,if statement都会评估浏览器是否应该进行新的调用。

clearInvertal()它是停止setInterval()方法的方法。



var id = 1;

var show5times = window.setInterval(showCustomer, 5000);

function showCustomer() {

  alert(id);
  
  id++;
  
  if(id > 5) {
  
  	window.clearInterval(show5times);
  
  }

}