JavaScript之内置函数setTimeout

45 阅读1分钟

概述

setTimeout是Javascript中的一个内置函数,它可以使得在指定的延迟之后安排一个函数的执行,setTimeout可以接收无限数量的参数,但两个参数总是要执行的函数和以毫秒为单位的延迟时间

注:setTimeout函数可以实现定时执行代码的功能,也被称作定时器

使用

setTimeout接收两个参数,第一个参数是要延迟执行的函数名或者代码(function|code),第二个参数是要延迟执行的时间毫秒数(delay)

setTimeout(function | code ,delay)

eg:

function delayFunction() {
    console.log("延迟函数)
}
const delay = 2000;
const timerId = setTimeout(delayFunction, delay);
clearTimeout(timerId);

执行机制

  1. 当调用setTimeout时,启动一个计时器,并设置它在指定的延迟后运行
  2. 延迟结束后,Javascript事件循环将指定的函数放入执行队列
  3. 当调用堆栈为空,函数就会被执行,其中的任何相关代码都会运行
  4. 若在延迟结束之前取消setTimeout函数,将不会执行计划的函数