JavaScript中setTimeout实现轮询 (vs setInterval)

本文详细解释了JavaScript中setTimeout与setInterval的功能差异。setTimeout用于在指定时间后执行一次任务,适用于执行有限次数的操作;而setInterval则用于周期性地执行任务,适合无限循环直至特定条件满足的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,次数是一次。
setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式。

如果指定循环次数,每次间隔一定时间,可以用setTimeout

 1: function f(){
 2: //Do something here...
 3: }; 
 4:  
 5: for(var i = 1; i < 13; i++){
 6: setTimeout(f, 1000);
 7: } 
 8:  

如果希望每隔指定的时间就执行一次表达式,但无限制循环 - 轮询(直到某个条件满足,跳出)。可以在表达式内再次触发setTimeout从而形成周而复始的定时效果。

 1: function f(){
 2: if(myCondition) //跳出循环的条件
 3: {
 4: //Do something here...
 5: setTimeout(f, 1000); //循环调用触发setTimeout
 6: }; 
 7:  
 8: setTimeout(f, 1000);

或许您对以下相关文章有兴趣:

转载于:https://www.cnblogs.com/Mainz/archive/2009/04/27/1444691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值