setTimeout 詳解

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的第三個參數,相信會讓你有意想不到的收穫,希望可以幫助到你~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章