跳到主要内容

JavaScript什么是setTimeout()方法?

参考答案:

setTimeout() 是 JavaScript 中的一个内置函数,它用于在指定的延迟后执行一个函数或计算一个表达式。这个函数返回一个代表定时器的 ID,你可以使用这个 ID 来取消定时器,如果你需要的话。

setTimeout() 函数的语法如下:

var timeoutId = setTimeout(func|code, [delay], [arg1], [arg2], ...)
  • func|code:要执行的函数或要计算的代码字符串。
  • delay:在执行函数或代码之前要等待的毫秒数。
  • arg1, arg2, ...:传递给函数的额外参数(可选的)。

下面是一个使用 setTimeout() 的简单示例:

// 定义一个函数
function greet() {
  console.log("Hello, world!");
}

// 使用 setTimeout 在 2 秒(2000 毫秒)后执行 greet 函数
var timeoutId = setTimeout(greet, 2000);

在这个示例中,greet 函数将在 2 秒后执行,并输出 "Hello, world!" 到控制台。

你也可以传递一个字符串作为 setTimeout() 的第一个参数,该字符串将被解析并执行为 JavaScript 代码。然而,这种做法通常不推荐,因为它可能导致安全问题和性能问题。最好总是传递一个函数引用。

// 使用 setTimeout 在 2 秒后执行一段代码
setTimeout("console.log('Hello, world!')", 2000);

最后,如果你需要取消一个定时器,你可以使用 clearTimeout() 函数,并传入 setTimeout() 返回的定时器 ID。

// 取消之前设置的定时器
clearTimeout(timeoutId);

请注意,如果 setTimeout() 中的函数执行时间超过了指定的延迟时间,那么它仍然会立即执行,并且不会受到延迟时间的影响。