JavaScript 延时:让你的代码等待166


在 JavaScript 中,有时我们希望我们的代码在执行下一条语句之前等待一段时间。这被称为延时。有几种方法可以在 JavaScript 中实现延时。

setTimeout()

setTimeout() 函数允许你在指定的时间(以毫秒为单位)后执行函数或代码块。语法如下:```javascript
setTimeout(function, delay);
```

其中:* function 是要执行的函数或代码块。
* delay 是要延迟的时间,以毫秒为单位。

例如,以下代码在 2 秒后显示一条消息:```javascript
setTimeout(function() { alert("Hello, world!"); }, 2000);
```

setInterval()

setInterval() 函数允许你在指定的时间间隔(以毫秒为单位)重复执行函数或代码块。语法如下:```javascript
setInterval(function, interval);
```

其中:* function 是要执行的函数或代码块。
* interval 是要执行函数或代码块的时间间隔,以毫秒为单位。

例如,以下代码每 1 秒显示一条消息:```javascript
setInterval(function() { alert("Hello, world!"); }, 1000);
```

Promise

Promise 对象表示一个异步操作的最终完成或失败。当异步操作完成后,你可以使用 then() 方法来指定要执行的代码块。语法如下:```javascript
(function(result) {
// 异步操作完成后执行的代码块
});
```

例如,以下代码在加载页面后显示一条消息:```javascript
= function() {
()
.then(function() { alert("Page loaded!"); });
};
```

async/await

async/await 语法允许你使用 async 函数来等待异步操作完成。语法如下:```javascript
async function myFunction() {
// 异步操作
await ();
// 异步操作完成后执行的代码
}
```

例如,以下代码在加载页面后显示一条消息:```javascript
async function onPageLoad() {
await ();
alert("Page loaded!");
}
onPageLoad();
```

选择哪种方法?

选择哪种延时方法取决于你的具体需求。以下是每种方法的优缺点:* setTimeout():简单易用,但只执行一次。
* setInterval():可以重复执行,但可能难以管理。
* Promise:提供对异步操作的更精细控制,但可能更复杂。
* async/await:允许使用同步语法编写异步代码,但仅适用于最新的 JavaScript 版本。

在大多数情况下,setTimeout() 和 Promise 是最好的选择,具体取决于你的需求。

2024-11-30


上一篇:JavaScript 延时:掌握 setTimeout 和 setInterval 的精髓

下一篇:JavaScript 电子书:全面的学习指南