js中两种计时器的写法及区别
时间: 2024-03-17 13:39:57 浏览: 17
在JavaScript中,有两种常用的计时器:setTimeout()和setInterval()。它们的主要区别在于触发时间和触发次数不同。
#### setTimeout()
setTimeout()是在指定的时间间隔之后执行一次指定的函数,只触发一次。语法如下:
```javascript
setTimeout(function, delay, param1, param2, ...)
```
其中,第一个参数是要执行的函数,第二个参数是延迟的毫秒数,后面的参数是可选的,可以作为函数的参数传递。
例如,下面的代码会在5秒后输出一条消息:
```javascript
setTimeout(function() {
console.log("5秒钟已经过去了!");
}, 5000);
```
#### setInterval()
setInterval()是在指定的时间间隔内重复执行指定的函数,可以无限触发。语法如下:
```javascript
setInterval(function, delay, param1, param2, ...)
```
其中,第一个参数是要执行的函数,第二个参数是时间间隔的毫秒数,后面的参数是可选的,可以作为函数的参数传递。
例如,下面的代码会每隔1秒钟输出一条消息:
```javascript
setInterval(function() {
console.log("1秒钟已经过去了!");
}, 1000);
```
需要注意的是,如果setInterval()的函数执行时间超过了时间间隔,那么它会在函数执行完成之后立即再次执行,所以可能会出现连续执行多次的情况。
综上所述,setTimeout()适用于只需要执行一次的情况,而setInterval()适用于需要重复执行的情况。