<script>
function timer(callback,delay)
{
let timerId = setInterval(()=>{callback(timerId)},delay);
}
timer((id)=>{
for(let i = 0; i < 100; i++)
{
console.log("timer1 =>" + i);
}
clearInterval(id);
timer((id)=>{
for(let i = 100; i >= 0; i--)
{
console.log("timer2 =>" + i);
}
clearInterval(id);
},133);
},133);
console.log("主流程")
</script>
这个代码是学习后盾人的视频时根据老师代码改的,其中的这一句代码有点牛逼
let timerId = setInterval(()=>{callback(timerId)},delay);
把生成的定时器id当参数传给了回调函数,而且运行得很好,这个百思不得其解,如果哪位高手看到这里麻烦给解释一下,我理解定时器id是先生成的,回调函数是后执行的,所以可以传过去,以后想明白了回来再写。