首頁  >  文章  >  web前端  >  ## JavaScript 回呼函數中的輸入變數從何而來?

## JavaScript 回呼函數中的輸入變數從何而來?

Patricia Arquette
Patricia Arquette原創
2024-10-26 18:21:29295瀏覽

## Where Do Input Variables in JavaScript Callback Functions Come From?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn