概述
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);
执行机制
- 当调用setTimeout时,启动一个计时器,并设置它在指定的延迟后运行
- 延迟结束后,Javascript事件循环将指定的函数放入执行队列
- 当调用堆栈为空,函数就会被执行,其中的任何相关代码都会运行
- 若在延迟结束之前取消setTimeout函数,将不会执行计划的函数