之所以要用 setTimeout 去做一个 setInterval,是在实现一个“调速”的功能的时候,修改setInterval的时间间隔参数的时候,并不会变更它执行的速度,是因为 setInterval 函数 在刚开始执行的时候,就已经将这个参数写进了内存,之后修改这个参数并不会影响修改内存中的参数
用setTimeout 实现的代码如下
function setItv(func, itv){
setTimeout(function fn(){
func()
setTimeout(fn, itv)
}, itv)
}
这里的 setItv 函数每次在执行的时候,都会去用内部的 setTimeout 去读外部的参数
网友评论