在javascript中设置循环计时器

时间:2017-12-28 11:59:38

标签: javascript

我想在JavaScript中设置基于计时器的for循环。

for (var i = 0; i < 20; i++) {
  console.log(i)
}

我如何每秒重复此循环并显示i(计数器)的值?

4 个答案:

答案 0 :(得分:1)

如果要控制循环等待时间,可以将settimeout与递归结合起来

var i = 0;
function callMe() {
  var timetowait = 100;
  // some condition and more login
 i++;
 if(i < 20) {
  setTimeout(callMe, timetowait);
 }

}

callMe();

答案 1 :(得分:0)

我认为这就是你要找的东西:

var counter = 0;
setInterval( function(){
   console.log(counter);
   counter++;
},1000);

答案 2 :(得分:0)

var i = 0;
function myFunc() { 
 console.log(i);
 i++;
 if(i == 20) {
   clearInterval(interval);
  }
}
var interval = setInterval(myFunc, 1000);

setInterval()方法调用函数或计算表达式 -  指定的间隔(以毫秒为单位)。

setInterval()方法将继续调用该函数,直到调用clearInterval()或窗口关闭。

答案 3 :(得分:0)

您也可以尝试这种方法:

function loop(start, end, delay, fn) {
    if (start > end) return;    

    function step(){
         // callback fn with current iteration and 
         // recursively calls loop
         fn(start);
         loop(start + 1, end, delay, fn);
    }

    setTimeout(step, delay);
}

用法:

loop(1, 20, 1000, console.log)