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()由於作用域問題找不到呼叫函式報錯一章節。
相關文章
- js函式引數值傳遞和引用傳遞簡單介紹JS函式
- setTimeout()方法傳遞超過兩個引數介紹
- javascript呼叫函式的方式簡單介紹JavaScript函式
- javascript函式呼叫方式簡單介紹JavaScript函式
- 函式的引數傳遞函式
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- JavaScript函式傳遞引數JavaScript函式
- JavaScript函式引數傳遞JavaScript函式
- setTimeout()函式第一個引數帶引號報錯原因介紹函式
- 函式作為引數傳遞函式
- 函式引數傳遞及返回函式
- setTimeout()函式延遲迴圈語句的異常簡單介紹函式
- ES6設定函式預設引數簡單介紹函式
- python中函式的引數傳遞Python函式
- php函式引用傳遞引數的方法PHP函式
- margin引數簡單介紹
- margin 引數簡單介紹
- javascript鏈式呼叫簡單介紹JavaScript
- js中函式引數值傳遞和引用傳遞JS函式
- python函式之引數傳遞Python函式
- Python的函式引數傳遞:傳值?引用?Python函式
- 父類與子類之間靜態函式的呼叫以及函式引數的傳遞函式
- 函式呼叫引數變數傳值的問題函式變數
- JavaScript 事件處理函式傳遞引數JavaScript事件函式
- onclick事件處理函式傳遞引數事件函式
- javascript匿名函式簡單介紹JavaScript函式
- 函式表示式和函式宣告簡單介紹函式
- javascript函式和變數宣告提前簡單介紹JavaScript函式變數
- 使用arguments物件獲取函式傳遞的引數物件函式
- js isNaN函式的用法簡單介紹JSNaN函式
- jQuery常用的動畫函式簡單介紹jQuery動畫函式
- jQuery的index()函式用法簡單介紹jQueryIndex函式
- javascript匿名函式的使用簡單介紹JavaScript函式
- js eval()函式的用法簡單介紹JS函式
- javascript實現鏈式呼叫簡單介紹JavaScript
- Python語法—函式及引數傳遞Python函式
- JavaScript為事件處理函式傳遞引數JavaScript事件函式
- python 函式引數的傳遞(引數帶星號的說明)Python函式