为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕运维8079593 2019-03-12 13:12:04
var n = 0;var timer = null;for(var i = 0; i < 10; i++){    timer = setInterval(function(){        console.log(n++);    },500);}clearInterval(timer);为什么 setInterval 会无限执行 麻烦了解的小伙伴帮忙解释下 拜谢我知道这样会无限执行但不知道为什么
查看完整描述

4 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

因为你的 `clearInterval(timer);只清除最后一个定时器的


对于for循环,循环一次产生一个定时器


timer = setInterval(function(){

        console.log(n++);

    },500);


查看完整回答
反对 回复 2019-03-19
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

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


查看完整回答
反对 回复 2019-03-19
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-03-19
?
精慕HU

TA贡献1845条经验 获得超8个赞

你需要用的應該是 setTimeout


查看完整回答
反对 回复 2019-03-19
  • 4 回答
  • 0 关注
  • 543 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信