js实现setinterval
使用 setInterval 实现定时任务
setInterval 是 JavaScript 中用于周期性执行代码的方法。它会在指定的时间间隔内重复调用一个函数或执行一段代码。
基本语法如下:

let intervalID = setInterval(callback, delay, [arg1, arg2, ...]);
callback:需要周期性执行的函数或代码块。delay:每次执行之间的时间间隔(毫秒)。arg1, arg2, ...:可选参数,传递给回调函数的额外参数。
停止 setInterval
使用 clearInterval 可以停止 setInterval 的执行:

clearInterval(intervalID);
示例代码
以下是一个简单的示例,每隔 1 秒在控制台输出一次当前时间:
function logTime() {
console.log(new Date().toLocaleTimeString());
}
// 每隔 1000 毫秒(1 秒)执行一次 logTime
let timer = setInterval(logTime, 1000);
// 5 秒后停止定时器
setTimeout(() => {
clearInterval(timer);
console.log('定时器已停止');
}, 5000);
注意事项
setInterval不会考虑回调函数的执行时间。如果回调函数执行时间超过delay,可能会导致多个回调函数堆积。- 如果需要在回调函数执行完成后再开始下一次计时,可以使用
setTimeout递归调用。
递归 setTimeout 替代方案
以下代码通过递归调用 setTimeout 实现类似 setInterval 的功能:
function repeatTask() {
console.log(new Date().toLocaleTimeString());
setTimeout(repeatTask, 1000);
}
repeatTask();






