用setTimeout 实现一个setInterval

2018-02-18  本文已影响0人  没头脑很不高兴

之所以要用 setTimeout 去做一个 setInterval,是在实现一个“调速”的功能的时候,修改setInterval的时间间隔参数的时候,并不会变更它执行的速度,是因为 setInterval 函数 在刚开始执行的时候,就已经将这个参数写进了内存,之后修改这个参数并不会影响修改内存中的参数

用setTimeout 实现的代码如下

function setItv(func, itv){
  setTimeout(function fn(){
    func()
    setTimeout(fn, itv)
  }, itv)
}

这里的 setItv 函数每次在执行的时候,都会去用内部的 setTimeout 去读外部的参数

上一篇 下一篇

猜你喜欢

热点阅读