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