如果使用 setInterval 实现定时任务,但实际执行延迟超过了设定的时间间隔,它会怎么执行?
考察说明
考察对 JavaScript 事件循环、定时器机制与任务排队行为(尤其是 setInterval 的追赶行为)的理解
回答思路
- 能解释 setInterval 基于事件循环与任务队列,回调不会严格按时执行
- 能说明当任务执行时间超过间隔时,定时器回调的排队与追赶机制
- 能区分 setInterval 与 setTimeout 递归在延迟场景下的不同行为
- 能指出在长时间任务或后台标签页中的典型问题及改进方案