1 基本语法
setTimeout()
函数是JavaScript中的一个计时器函数,它允许我们在一定的时间间隔后执行指定的代码。它的基本语法如下:
setTimeout(callback, delay, arg1, arg2, ...)
其中,callback参数是一个函数,它将在指定的延迟时间后执行。delay参数是一个以毫秒为单位的时间值,指定延迟的时间。还可以选择性地传递一些参数给回调函数。
2 调用方式
setTimeout()
函数 的调用方式如下:
let timerId = setTimeout(callback, delay, arg1, arg2, ...);
2.1 不传参的调用方式
function sayHello() {
console.log('Hello');
}
setTimeout(sayHello, 1000);
这个例子中,我们定义了一个名为sayHello的函数,并使用 setTimeout()
函数 来延迟1秒后执行它。当1秒钟过去后,控制台将输出"Hello"。
2.2 传参的调用方式
示例代码:
function sayHelloSth(name) {
console.log(`Hello ${
name}!`);
}
// 在 3 秒后打印 "Hello World!"
setTimeout(sayHelloSth, 3000, 'World');
在上述示例代码中,我们定义了一个 sayHelloSth()
函数,它接受一个参数 name
。然后,使用 setTimeout()
函数调用 sayHelloSth()
函数,并且指定了延迟时间为 3 秒。我们还将字符串 “World” 作为第三个参数传递给 setTimeout()
函数,以便将其传递给 sayHelloSth()
函数。因此,在 3 秒后,将在控制台上看到输出 “Hello World!”。
3 取消延迟执行
当调用 setTimeout()
函数时,它会立即返回一个唯一的定时器ID,我们可以使用这个ID来取消延迟执行。例如:
let timerId = setTimeout(function() {
console.log('This message will never be displayed');
}, 5000);
clearTimeout(timerId);
在这个例子中,我们使用setTimeout函数创建了一个定时器,并将其赋值给timerId
变量。然后,我们立即使用 setTimeout()
函数来取消这个定时器。这意味着在5秒钟后,控制台不会输出任何消息。