📜  settimeout javascript (1)

📅  最后修改于: 2023-12-03 15:05:11.526000             🧑  作者: Mango

JavaScript 的 setTimeout() 函数

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 关键字时需要注意函数的作用域。