js setinterval 实现
使用 setInterval 实现定时任务
setInterval 是 JavaScript 中用于周期性执行代码的方法,它接受两个参数:回调函数和时间间隔(毫秒)。
setInterval(() => {
console.log('This runs every 2 seconds');
}, 2000);
清除定时器
setInterval 返回一个 ID,可用于清除定时器。使用 clearInterval 停止执行。
const intervalId = setInterval(() => {
console.log('Running...');
}, 1000);
setTimeout(() => {
clearInterval(intervalId);
console.log('Stopped');
}, 5000);
注意事项
时间间隔不保证精确,受主线程任务影响。
避免在回调中执行耗时操作,可能导致延迟累积。
// 错误示例:耗时操作导致延迟
setInterval(() => {
heavyCalculation(); // 阻塞主线程
}, 1000);
替代方案
对于需要更精确控制的场景,可考虑递归使用 setTimeout。
function runWithDelay() {
setTimeout(() => {
task();
runWithDelay();
}, 1000);
}
实际应用示例
实现简单计时器功能:

let seconds = 0;
const timer = setInterval(() => {
seconds++;
console.log(`Elapsed: ${seconds}s`);
if (seconds >= 10) clearInterval(timer);
}, 1000);






