我想在JavaScript中设置基于计时器的for循环。
for (var i = 0; i < 20; i++) {
console.log(i)
}
我如何每秒重复此循环并显示i
(计数器)的值?
答案 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)