JavaScript 定时器
时间: 2025-06-05 11:16:44 浏览: 19
### JavaScript 定时器 `setTimeout` 和 `setInterval` 的使用方法
JavaScript 提供了两种主要的定时器函数:`setTimeout` 和 `setInterval`,它们用于延迟执行或周期性地执行一段代码。
#### 1. `setTimeout`
`setTimeout` 函数用于在指定的时间后执行一次回调函数。其基本语法如下:
```javascript
setTimeout(function, delay, param1, param2, ...);
```
- **function**: 要执行的回调函数。
- **delay**: 延迟的时间(以毫秒为单位)。
- **param1, param2, ...**: 可选参数,传递给回调函数。
例如:
```javascript
function Fun3(str1) {
alert(str1);
}
var timer = setTimeout(Fun3, 2000, "参数1"); // 2秒后弹出“参数1”
clearTimeout(timer); // 清除定时器,防止执行
```
上述代码展示了如何设置一个定时器并在两秒后执行回调函数[^1]。如果需要提前停止定时器,可以使用 `clearTimeout` 方法[^3]。
#### 2. `setInterval`
`setInterval` 函数用于每隔指定的时间间隔重复执行回调函数。其基本语法如下:
```javascript
setInterval(function, delay, param1, param2, ...);
```
- **function**: 要执行的回调函数。
- **delay**: 每次执行之间的间隔时间(以毫秒为单位)。
- **param1, param2, ...**: 可选参数,传递给回调函数。
例如:
```javascript
var counter = 0;
var intervalId = setInterval(function () {
console.log("计数:", counter++);
if (counter > 5) {
clearInterval(intervalId); // 当计数超过5时停止定时器
}
}, 1000); // 每隔1秒执行一次
```
上述代码展示了如何设置一个每秒执行一次的定时器,并在满足条件时通过 `clearInterval` 方法停止定时器[^2]。
#### 区别与注意事项
- **执行次数**:`setTimeout` 只执行一次,而 `setInterval` 会不断重复执行直到被清除。
- **清除方法**:`setTimeout` 使用 `clearTimeout`,`setInterval` 使用 `clearInterval`。
- **返回值**:两者都会返回一个唯一的标识符,用于清除对应的定时器。
### 示例代码
以下是一个结合 `setTimeout` 和 `setInterval` 的完整示例:
```javascript
// 使用setTimeout
setTimeout(() => {
console.log("这是setTimeout输出");
}, 3000);
// 使用setInterval
let count = 0;
const intervalId = setInterval(() => {
console.log("当前计数:", count++);
if (count > 5) {
clearInterval(intervalId); // 停止计时器
}
}, 1000);
```
阅读全文
相关推荐














