js 实现setinterval
使用 setInterval 的基本语法
setInterval 是 JavaScript 中的一个内置函数,用于按照指定的时间间隔重复执行代码。语法如下:
let intervalID = setInterval(callback, delay, arg1, arg2, ...);
callback:要重复执行的函数。delay:每次执行之间的时间间隔(毫秒)。arg1, arg2, ...:可选参数,传递给callback函数的参数。
示例代码
以下是一个简单的示例,每隔 1 秒在控制台输出一次当前时间:
function logTime() {
console.log(new Date().toLocaleTimeString());
}
let intervalID = setInterval(logTime, 1000);
停止 setInterval
如果需要停止 setInterval 的执行,可以使用 clearInterval 函数:
clearInterval(intervalID);
传递参数
可以通过 setInterval 传递参数给回调函数:
function greet(name) {
console.log(`Hello, ${name}!`);
}
let intervalID = setInterval(greet, 2000, 'Alice');
注意事项
- 确保在不需要时清除
setInterval,避免内存泄漏。 delay参数的最小值通常是 4 毫秒(取决于浏览器实现)。
实际应用示例
以下是一个倒计时计时器的实现:

let count = 10;
function countdown() {
console.log(count);
count--;
if (count < 0) {
clearInterval(intervalID);
console.log('Countdown finished!');
}
}
let intervalID = setInterval(countdown, 1000);
替代方案
如果需要更精确的时间控制,可以考虑使用 requestAnimationFrame 或 setTimeout 递归调用。






