关于js for中定时器无限执行求解!

var n = 0;

var timer = null;

for(var i = 0; i < 10; i++){

    timer = setInterval(function(){

        console.log(n++);

    },500);

}

clearInterval(timer);

为什么 setInterval 会无限执行 麻烦了解的小伙伴帮忙解释下 拜谢

我知道这样会无限执行但不知道为什么


慕运维8079593
浏览 544回答 4
4回答

波斯汪

因为你的 `clearInterval(timer);只清除最后一个定时器的对于for循环,循环一次产生一个定时器timer = setInterval(function(){&nbsp; &nbsp; &nbsp; &nbsp; console.log(n++);&nbsp; &nbsp; },500);

德玛西亚99

for循环中设定了9个定时器,但是后面只清除了一个

料青山看我应如是

setInterval每次往执行队列中塞进去一个函数,到达指定的时间间隔后,自动取出执行,然后再塞进去一个

精慕HU

你需要用的應該是 setTimeout
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript