📅  最后修改于: 2023-12-03 14:42:27.006000             🧑  作者: Mango
JavaScript setTimeout
方法允许您在延迟一定时间后调用一个函数。它的语法如下:
setTimeout(function, milliseconds)
其中:
function
是定时器到期时要执行的函数。milliseconds
是等待的毫秒数。setTimeout
方法将返回一个唯一的 timeoutID
,您可以将其用作 clearTimeout
方法的参数,以取消定时器。
const timeoutID = setTimeout(function() {
console.log("Hello, world!");
}, 1000);
clearTimeout(timeoutID);
上面的代码将在 setTimeout
方法调用后等待一秒钟并显示 "Hello, world!"。然后我们使用 clearTimeout
方法取消了定时器。
下面是 setTimeout
的一些常见用途:
您可以使用 setTimeout
方法延迟执行函数。以下示例将在 5 秒后显示 "Hello, world!"。
setTimeout(function() {
console.log("Hello, world!");
}, 5000);
您可以使用 setTimeout
方法重复执行函数。以下示例将每秒钟计数器加 1,直到计数器到达 10。
let count = 0;
function increment() {
console.log(count);
if (count < 10) {
count++;
setTimeout(increment, 1000);
}
}
increment();
如果您有一个需要在某个时间点调用的函数,可以使用 setTimeout
方法来实现。例如,以下示例将在 8:30 AM 调用 doSomething
函数。
const wakeUpTime = new Date();
wakeUpTime.setHours(8);
wakeUpTime.setMinutes(30);
wakeUpTime.setSeconds(0);
const now = new Date();
const timeToWakeUp = wakeUpTime.getTime() - now.getTime();
setTimeout(doSomething, timeToWakeUp);
function doSomething() {
console.log("Time to wake up!");
}
在上面的代码中,我们首先创建一个 Date
对象,表示今天的 8:30 AM。然后我们计算现在到那个时间点的毫秒数,并使用 setTimeout
方法来调用 doSomething
函数。