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