Javascript 回呼函數:解開輸入變數的起源
在JavaScript 中處理回呼函數時,出現一個常見問題:回呼函數在哪裡回呼函數中的變數來自哪裡?為了清楚起見,讓我們使用 Node.js 範例來深入研究答案。
如下範例:
<code class="javascript">router.get('/', function(req, res){ res.render('index', {}); });</code>
回呼函數採用兩個參數:req 和 res。了解它們的起源至關重要。
就像任何其他函數呼叫一樣,回調函數的參數在呼叫時提供。在這種情況下,req和res透過router.get方法傳遞給回呼函數。
想像一下router.get的簡化版本為:
<code class="javascript">router.get = function(endpoint, cb){ // Logic to perform var request = {}; var response = {}; cb(request, response); // Invocation time }</code>
當router.get是使用端點和回調調用,它建立請求和回應物件並將它們作為參數傳遞給回調函數。這有效地填充了回調中的 req 和 res 變數。
因此,雖然回調函數在作為參數傳遞給另一個函數時不會立即執行,但其參數是在呼叫時建立的。就像在任何其他函數中一樣,參數源自函數呼叫本身。
以上是## JavaScript 回呼函數中的輸入變數從何而來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!