JavaScript setTimeout()

2025年4月23日 | 阅读 3 分钟

JavaScript 中的 setTimeout() 方法用于在指定的延迟时间后执行一个函数。此方法返回一个数值,表示计时器的 ID 值。

setInterval() 方法不同,setTimeout() 方法仅执行一次函数。此方法可以带有或不带 window 前缀编写。

我们可以使用 clearTimeout() 方法来停止超时或阻止执行 setTimeout() 方法中指定的函数。 setTimeout() 方法返回的值可以用作 clearTimeout() 方法的参数来取消计时器。

下面给出了 setTimeout() 方法的常用语法。

语法

参数值

此方法接受两个参数:functionmilliseconds,定义如下。

function: 包含将要执行的代码块的函数。

milliseconds: 此参数表示执行函数的时间间隔。间隔以毫秒为单位。其默认值为 0。它定义了代码执行的频率。如果未指定,则使用值 0

让我们通过一些示例来理解 setTimeout() 方法的用法。

示例 1

这是一个使用 setTimeout() 方法的简单示例。这里,一个警报对话框将在两秒钟的间隔后显示。我们没有使用任何方法来阻止 setTimeout() 方法中指定的函数执行。因此,setTimeout() 方法仅在给定的时间间隔后执行一次指定的函数。

 
 

输出

JavaScript setTimeout() method

两秒钟后,输出将是:

JavaScript setTimeout() method

示例 2

这是另一个使用 setTimeout() 方法的示例。这里,一个新标签页将在两秒钟的时间间隔后打开,并在打开两秒后关闭。我们使用 window.open() 方法打开新标签页,并使用 window.close() 方法关闭已打开的标签页。

由于我们没有使用任何方法来阻止 setTimeout() 方法中指定的函数执行。因此,函数仅在给定的时间间隔后执行一次。

输出

JavaScript setTimeout() method

两秒钟后,将按如下方式打开一个新标签页:

JavaScript setTimeout() method

两秒钟的间隔后,新标签页将关闭。

Example3

在上面的示例中,我们没有使用任何方法来阻止 setTimeout() 中指定的函数执行。这里,我们正在使用 clearTimeout() 方法来停止函数的执行。

我们必须在两秒钟之前单击提供的 stop 按钮才能看到效果。

输出

JavaScript setTimeout() method

如果用户在两秒钟之前单击 stop 按钮,则输出将保持不变。否则,将在两秒钟后打开一个新标签页,并在打开两秒后关闭。