1-14使用setTimeout实现间隔调用
问题:为什么调用结束后需要clearTimeout?
描述:setTimeout不是只调用一次吗?,为什么最后一次需要clearTimeout,如果要清理定时器,为什么其他9个定时器不清理?
代码:
function fun(){
count ++;
console.log(count);
if(count <maxCount){
setTimeout(fun,1000);
}
}
var count = 0;
var maxCount = 10;
setTimeout(fun,1000);
直接这样写不是更加简略吗?有什么错误?
30
收起
正在回答
3回答
js是单线程语句,但它可以通过设置超时调用或间歇调用来让代码在特定的时刻执行。setTimeout在执行一次后,如果不再设置另一次,就会自行停止,不会对其他的造成影响,所以没有必要追踪id。我们一般会在最后不用的时候,清除一次。总之这种超时调用是否清除都是可以的。
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星