将“(0)”附加到此闭包函数的目的是什么
What is the purpose of appending "(0)" to this closure function?
正如标题所述,在此代码截图(在此处找到)中附加(0);
而不仅仅是();
的目的是什么:
function runner (fns, context, next) {
var last = fns.length - 1;
(function run(pos) {
fns[pos].call(context, function (err) {
if (err || pos === last) return next(err);
run(++pos);
});
})(0);
}
它大致相当于:
function runner (fns, context, next) {
var last = fns.length - 1;
function run(pos) {
fns[pos].call(context, function (err) {
if (err || pos === last) return next(err);
run(++pos);
});
}
run(0);
}
0
只是作为pos
的第一个值传递给run()
的值 – 与递归run(++pos);
相同(最好写为 run(pos + 1)
)。
目的是将 0 作为值传递给 pos 参数。
相关文章:
- 使用闭包/函数绑定将自函数作为回调传递
- 了解 JavaScript 闭包函数
- 传递多个参数的闭包函数
- 将“(0)”附加到此闭包函数的目的是什么
- 如何复制(新实例)闭包函数
- Javascript 闭包函数参数
- 具有闭包函数作用域的意外行为
- javascript闭包函数可以由用户更改吗
- Javascript:是这个闭包函数
- 为什么闭包函数中的 javascript 变量在多次调用时不会重置为默认值
- Js闭包:函数在第二次调用时失败
- 如何存储闭包函数返回的变量
- javascript闭包函数的用法
- JavaScript闭包函数传递给事件监听器
- 闭包函数问题
- & # 39;这个# 39;匿名闭包函数内部
- 在JavaScript中实现自动记忆(返回闭包函数)
- 不理解闭包函数是如何工作的
- Javascript闭包函数
- 为javascript闭包函数编写jasmine测试规范