# JavaScript教程 - 14 常用API
继续介绍一些常用的API
# 14.6 定时器
定时器可以延时或周期性的执行函数。
# 1 setTimeout
setTimeout(callback, delay)
函数可以延时执行某个函数一次。
举个栗子:
setTimeout(() => {
alert("2 秒后执行一次");
}, 2000); // 单位是毫秒
1
2
3
2
3
- 第一个参数是回调函数,延时时间到了以后要执行的函数;第二个参数是延迟时间(单位毫秒)。
如果要取消定时器,可以使用 clearTimeout(timer)。
举个栗子:
const timerId = setTimeout(() => {
alert("2 秒后执行一次");
}, 2000); // 单位是毫秒
clearTimeout(timerId); // 取消执行
1
2
3
4
5
2
3
4
5
setTimeout()
会返回一个定时器的ID,可以通过 ID 使用clearTimeout()
函数取消定时器。
# 2 setInterval
setInterval(callback, interval)
函数可以每隔一段时间重复执行函数(无限次,除非取消)。
举个栗子:
setInterval(() => {
console.log("每隔 1 秒执行一次");
}, 1000);
1
2
3
2
3
- 上面会每隔一秒执行一次回调函数。
可以使用 clearInterval
清除定时器,下面我们模拟一个倒计时:
let count = 5;
const timer = setInterval(() => {
console.log(count);
count--;
if (count < 0) {
clearInterval(timer); // 停止计时器
console.log("倒计时结束!");
}
}, 1000);
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
← 14-常用API-1 15-DOM-1 →