setTimeout()呼叫的函式傳遞引數簡單介紹
關於setTimeout()函式的基本用法這裡就不多介紹了,具體可以參閱setTimeout()方法一章節。
本章節介紹一下如何給呼叫的函式傳遞引數,先看一段程式碼:
[JavaScript] 純文字檢視 複製程式碼function func(a,b){ console.log(a+b); } setTimeout(func(2,2),5000);
很多初學者可能用上面的方式為呼叫的函式傳遞引數,其實這是錯誤的,這個時候函式直接執行了,而不是在指定的時間之後執行。
當setTimeout()函式第一個引數不使用引號的時候,那麼第一個引數就是一個回撥函式,傳遞的是函式的引用。
程式碼修改如下:
[JavaScript] 純文字檢視 複製程式碼function func(a,b){ return function(){ console.log(a+b); } } setTimeout(func(2,2),5000);
以上程式碼實現了我們的要求,可以再5秒之後輸出a和b的和,下面對程式碼做一下簡要介紹。
func()函式可以傳遞兩個引數並返回的是一個函式物件,實質上也就是被返回的這個函式作為回撥函式傳遞給setTimeout()。
帶有引號的引數傳遞方式:
[JavaScript] 純文字檢視 複製程式碼function func(a,b){ console.log(a+b); } setTimeout("func(2,2)",1000);
上面的方式也可以實現我們的要求,也可以傳遞引數,但是需要特別注意作用域問題。
關於作用域問題可以參閱setInterval()由於作用域問題找不到呼叫函式報錯一章節。
相關文章
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- 函式的引數傳遞函式
- JavaScript函式傳遞引數JavaScript函式
- python中函式的引數傳遞Python函式
- 函式作為引數傳遞函式
- 函式引數傳遞及返回函式
- Python的函式引數傳遞:傳值?引用?Python函式
- php函式引用傳遞引數的方法PHP函式
- 函式呼叫引數變數傳值的問題函式變數
- Python語法—函式及引數傳遞Python函式
- Python3之函式的引數傳遞與引數定義Python函式
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- 如何計算PHP函式中傳遞的引數數量PHP函式
- 學習javaScript必知必會(1)~js介紹、函式、匿名函式、自呼叫函式、不定長引數JavaScriptJS函式
- 簡單介紹python的input,print,eval函式Python函式
- 函子的簡單介紹
- c++單例模式、常量成員函式、引數傳遞、友元C++單例模式函式
- 函式的呼叫方式和引數函式
- 彙編眼中的函式呼叫引數傳遞以及全域性與區域性變數與“基址”函式變數
- 簡單介紹JS函式防抖和函式節流JS函式
- 『無為則無心』Python函式 — 26、Python函式引數的傳遞方式Python函式
- 簡單介紹Python中的配對函式zip()Python函式
- Golang 切片作為函式引數傳遞的陷阱與解答Golang函式
- Javascript 定時器呼叫傳遞引數的方法JavaScript定時器
- 簡單介紹Python 如何擷取字元函式Python字元函式
- ABAP 方法呼叫的引數傳遞裡,透過引用傳遞的方式,能修改原始引數值嗎?
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- Debug: setTimeout 使用做定時器時的錯誤函式傳遞方式定時器函式
- match函式簡單介紹以及與index函式結合應用函式Index
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- 二級指標,二維陣列函式引數傳遞指標陣列函式
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- 函式中引數傳值函式
- Go 之基礎速學 (五) golang 裡函式以及函式之間引數的傳遞Golang函式
- 傳遞函式函式
- 引數傳遞
- 遞迴函式,可變引數列表遞迴函式
- JavaScript setTimeout() 介紹JavaScript