JavaScript 回呼函數中參數的由來
在 JavaScript 中,回呼函數在作為參數傳遞給其他函數後執行。了解回調函數中使用的變數的來源可能會造成混亂。
在 Node.js 範例中:
router.get('/', function(req, res){ res.render('index', {}); });
變數 req 和 res 似乎是憑空出現的。然而,它們的產生方式與任何函數呼叫中的變數相同。
以這個非回呼函數為例:
function add (a, b) { return a + b }
我們知道變數a 和b 來自函數呼叫:
add(1,2)
同樣的原則也適用於回呼函數。當呼叫傳遞給 router.get 的函數時,它會接收 req 和 res 作為參數。
在內部,router.get 的定義可能如下所示:
router.get = function(endpoint, cb){ //do something var request = {} var response = {} cb(request, response) // invocation time }
在您的範例中,當呼叫get 時,Node 將請求和回應作為參數傳遞給回呼函數。
以上是以下是一些標題選項,請記住問題格式和文章的重點: **直接簡潔:** * **JavaScript 回呼函數中的變數由何而來? * **怎樣的詳細內容。更多資訊請關注PHP中文網其他相關文章!