为什么要用setTimeout模拟setInterval ?

setInterval有两个缺点:

  • 使用setInterval时,某些间隔会被跳过
  • 可能多个定时器会连续执行
  • 在前一个定时器执行完前,不会向队列插入新的定时器(解决缺点一)
  • 保证定时器间隔(解决缺点二)
  • 例子:

    //使用setTimeout也可以产生setInterval的效果
    var i=0;
    function intv(){
        setTimeout(function(){
            consolr.log(i++);
            intv()
        },1000)
    }
    intv()
上一篇:javascript – 一个SetInterval与多个SetTimeout


下一篇:javascript – 在设定的时间量后取消requestAnimationFrame