在JavaScript中,setTimeout
和 setInterval
是两个用于定时操作的函数,它们都定义在 window
对象上,并且是Web API的一部分。
setTimeout
setTimeout
函数用于在指定的毫秒数后执行一个函数或一段代码。这个函数只执行一次。
语法:
let timeoutID = setTimeout(function[, delay, arg1, arg2, ...]);
function
:这是要执行的函数。delay
(可选):延迟执行的时间,以毫秒为单位,默认是0。arg1, arg2, ...
(可选):传递给函数的参数。
示例:
function sayHello() {console.log('Hello!');
}// 延迟2秒执行sayHello函数
setTimeout(sayHello, 2000); // 等同于 setTimeout(function() { sayHello(); }, 2000);
setInterval
setInterval
函数用于每隔指定的毫秒数重复执行一个函数或一段代码。
语法:
let intervalID = setInterval(function[, delay, arg1, arg2, ...]);
function
:这是要重复执行的函数。delay
(可选):间隔时间,以毫秒为单位,默认是0。arg1, arg2, ...
(可选):传递给函数的参数。
示例:
function count() {console.log('Counting...');
}// 每隔1秒执行count函数
setInterval(count, 1000);
清除定时器
使用 clearTimeout
和 clearInterval
可以取消之前设置的 setTimeout
和 setInterval
。
clearTimeout(timeoutID)
:取消由setTimeout
设置的定时器。clearInterval(intervalID)
:取消由setInterval
设置的定时器。
示例:
let timeoutID = setTimeout(sayHello, 2000);
// 取消定时器
clearTimeout(timeoutID);let intervalID = setInterval(count, 1000);
// 取消定时器
clearInterval(intervalID);
这两个函数非常有用,可以用于实现各种需要定时执行任务的场景,比如动画、轮询、定时提醒等。