1. setTimeout 定义

setTimeout( )是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method。

setTimeout()方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。

2. 参数详解

刚刚在研究promise的时候,发现setTimeout( )不止有两个参数。
此处附加一个官网链接: → setTimeout - MDN
在这里插入图片描述
由此可见,第一个参数是回调函数,第二个参数是延迟时间,那被遗忘的第三个参数是什么呢?

setTimeout( function(){} , delay , arg1 )

简单的举个栗子:

setTimeout(
    function(props){
        console.log(props) //第三个参数是作为回调函数的参数来使用的
    },
    2000,
    '第三个参数是作为回调函数的参数来使用的'
)

在这里插入图片描述
第三个参数及以后的参数都可以作为 回调函数的参数

setTimeout(
    function(arg1,arg2,arg3){
        console.log(arg1*arg2-arg3)    // -1
    },
    2000,
   1,2,3
) 

在这里插入图片描述

若第三个参数作为函数

setTimeout(
    function(){
        console.log('外层函数')
    },
    2000,
  setTimeout(
    function(){
        console.log('内层函数')
    }, 0)
)

在这里插入图片描述
可以看到第三个参数还是先执行,然后再执行函数。

利用好setTimeout的第三个参数,相信会让你有意想不到的收获,希望可以帮助到你~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐