js中的for循环结束后设置执行事件( 与setInterval和setTimeout一起用)


在js for循环中的定时器。正常来讲循环多少次就会触发多个定时

例如 

 var time
    for (var i=0;i<3;i++){
        
        time=setTimeout(()=>{
            console.log('定时器')
        },100)
    }

  这样会打印出3次定时器

 

当我只想在for循环最后一次结束后才触发一次事件,

代码

  var time
    for (var i=0;i<3;i++){
        clearTimeout(time)
        time=setTimeout(()=>{
            console.log('定时器')
        },100)
    }

  主要是在cleraTimeout对对象没有要求的前提下作用

这样打印出来的只有1次定期器,不过要注意的是 setTimeout赋值的对象是全局的,不然就不能覆盖到前面一个

setInterval同理


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM