在前端开发中,定时器是常用的功能之一,用于在指定的时间后执行某些代码,或者按照一定的时间间隔重复执行某些代码。JavaScript 提供了两种基本的定时器形式:setTimeout 和 setInterval。
1. setTimeout
setTimeout 函数用于在指定的毫秒数后执行一段代码(或者一个函数)。这个函数只执行一次。setTimeout 接收两个参数:第一个参数是要执行的函数(或者一段要执行的代码字符串,但出于安全和性能考虑,建议使用函数),第二个参数是延迟的毫秒数(1秒 = 1000毫秒)。
setTimeout(function() {
console.log('这段代码将在2秒后执行');
}, 2000);
2. setInterval
setInterval 函数用于每隔指定的毫秒数重复执行一段代码(或函数)。 同样,setInterval 也接收两个参数:要执行的函数和时间间隔(毫秒)。
setInterval(function() {
console.log('这段代码将每隔2秒执行一次');
}, 2000);
注意事项:
清除定时器:为了避免不必要的资源占用或执行,你可能需要在某个时间点清除定时器 。对于 setTimeout,使用 clearTimeout(timeoutID)
来清除;对于 setInterval,使用 clearInterval(intervalID)
来清除。其中,timeoutID 和 intervalID 是 setTimeout 和 setInterval 函数调用时返回的标识符。
//setTimeout 函数
var timeoutID = setTimeout(function() {
console.log('这段代码将不会被执行,因为被清除了');
}, 3000);
clearTimeout(timeoutID);
//setInterval 函数
var intervalID = setInterval(function() {
console.log('这段代码将执行一次,然后被清除');
}, 2000);
// 假设你想在第一次执行后立即清除
setTimeout(function() {
clearInterval(intervalID);
}, 2000);