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