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中文网其他相关文章!