美文网首页
js-计时器笔记

js-计时器笔记

作者: Llane00 | 来源:发表于2017-04-10 22:23 被阅读0次

    setTimeout (timeout 暂停)
    setInterval (interval 间隔)

    所以setTimeout就像设置一个闹钟,就响一次。
    setInterval就像设置一个规律,比如让自己每过2小时眼睛就休息一下。

    setTimeout和setInterval都会返回声明计时器的顺序(ID)

    假如你设置了一个每隔1秒提示一下的setInterval(),现在需要停止它。
    可以用clearInterval(id),setTimeout()对应的是clearTimeout(id)。
    id需要是对应的计时器,但这样很麻烦。

    所以通常我们给计时器起个名字,再clear它。

    //设置一个计时器每隔一秒输出1
    var clock1 = setInterval(function(){
      console.log(1)
    }, 1000)
    
    clearInterval(clock1) //清除计时器clock1
    

    计时器的执行顺序

    for(var i = 0; i < 1000; i++){
      console.log(1);
    }
    var clock2 = setTimeout(function(){
      console.log("clock2")
    },2000)
    var clock1 = setTimeout(function(){
      console.log("clock1")
    },1000)
    
    // 输出的结果是1000个1
    // clock1
    // clock2
    

    计时器内的函数会到所有正常代码的最后才执行,即排在执行时间列表的最后。但是计时器的计时在前面的代码执行时就开始了。
    所以事实上的结果是在1000个1执行完后,clock1、clock2立即一起输出。
    而不是1000个1执行完后,过1秒输出clock1,再过2秒输出clock2.

    浏览器的最小时间单位并不是1毫秒,是不稳定的。

    相关文章

      网友评论

          本文标题:js-计时器笔记

          本文链接:https://www.haomeiwen.com/subject/tumeattx.html