📅  最后修改于: 2023-12-03 15:05:11.526000             🧑  作者: Mango
JavaScript 中的 setTimeout() 函数是一个常用的异步操作函数,可以让程序在一定延迟之后执行一个函数或者是一段代码。该函数接受两个参数,第一个为要执行的函数或代码,第二个为需要延时的毫秒数。
下面是该函数的基本使用:
setTimeout(function() {
console.log('Hello World!');
}, 1000);
该代码片段会在一秒(1000 毫秒)之后输出 "Hello World!" 到控制台中。
如果需要在延时执行之前取消该操作,可以使用 clearTimeout() 函数:
const timer = setTimeout(function() {
console.log('Hello World!');
}, 1000);
// 取消延时执行
clearTimeout(timer);
需要注意的是,通过 setTimeout() 函数延时执行的代码并不是在指定的时间点上立即执行,而是在该时间点之后尽快执行,执行时间可能会有延迟。
另外,如果需要在定时器执行的函数中使用 this 关键字引用当前对象,需要注意函数的作用域。可以使用箭头函数来解决该问题:
const obj = {
name: 'Alice',
printName: function() {
setTimeout(() => {
console.log(this.name);
}, 1000);
}
};
obj.printName(); // 输出 "Alice"
setTimeout() 函数是一种常用的异步操作函数,可以让程序在一定延迟之后执行一个函数或者是一段代码。需要注意代码执行时间可能会有延迟,以及在定时器执行的函数中使用 this 关键字时需要注意函数的作用域。