📅  最后修改于: 2023-12-03 15:34:57.386000             🧑  作者: Mango
在 JavaScript 中,setTimeout 是一个经常用到的函数,它允许我们将一段代码延迟一定的时间后再执行。在实际应用中,我们可以用它来实现定时器、延时执行事件、节流等功能。
setTimeout(func, delay, arg1, arg2, ...)
func
:要执行的函数,可以是一个函数表达式或函数引用。delay
:要延迟的毫秒数。arg1, arg2, ...
:传递给 func
的参数列表,可以省略。setTimeout
函数会返回一个数字 ID,可以使用 clearTimeout
函数取消该定时器。如果指定的延迟时间为 0 或负数,或者 func
参数不是一个有效的 JavaScript 函数,setTimeout
函数将不会执行任何操作,且返回值也为 0。
// 延迟 1000 毫秒后执行一段代码
setTimeout(function () {
console.log('Delayed message');
}, 1000);
// 延迟 2000 毫秒后执行带参数的函数
setTimeout(function (name, age) {
console.log(`My name is ${name}, ${age} years old`);
}, 2000, 'Tom', 18);
// 取消一个定时器
var timer = setTimeout(function () {
console.log('Cancelled message');
}, 5000);
clearTimeout(timer);
setTimeout
返回的是一个对象,而不是一个数字 ID。