JavaScript 回呼函數中的參數是從何而來?
在回調函數的上下文中,參數(例如 req)來自哪裡? Node.js 範例中的 res 是從哪裡來的?這個問題是因為回呼函數作為參數傳遞給另一個函數後執行的。
揭開回調函數參數的神秘面紗
要了解這些參數的起源,重要的是要記住它們與常規非回調函數來自相同的來源:在調用時。
考慮以下非回呼函數:
<code class="javascript">function add(a, b) { return a + b; }</code>
在此例如,您知道a 和b 來自add 函數的呼叫:
<code class="javascript">add(1, 2);</code>
同樣的原理也適用於回調函數。它們的參數在呼叫時傳遞給它們。
回呼函數的呼叫上下文
在 Node.js 範例中,回呼函數被呼叫當執行 router.get 時。讓我們想像一下 router.get 的簡化定義:
<code class="javascript">router.get = function(endpoint, cb) { // Do something var request = {}; var response = {}; cb(request, response); // Invocation time };</code>
當使用特定端點和回調函數呼叫 router.get 時,它會建立請求和回應物件並將它們作為參數傳遞給回調。
在您的範例中,當呼叫 .get 時,Node.js 負責將請求和回應傳遞給您的回呼函數,讓您在不明確聲明的情況下使用它們。
以上是## JavaScript 中的回呼函數參數從何而來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!