📜  javascript settimeout - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:27.006000             🧑  作者: Mango

JavaScript setTimeout

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 函数。