javascript - 用 for 循环关闭
问题描述
这是完美运行的代码,(i)
大括号后面是什么
for (var i = 0; i < 5; i++) {
setTimeout(function(j) {
console.log(j);
}(i), 1000);
}
这是在匿名函数中传递参数值的方式吗?
解决方案
让我们来看看这个案例:
function fn(j) { // function declaration
console.log(j);
}
fn(j); // function call
这调用了函数。现在,由于函数也可以是表达式,它们可以计算为引用,并且可以通过()
在引用之后添加来调用该函数,就像上面一样。这意味着
function(j){ /*..*/ }(i)
其实不用等待直接调用函数。
推荐阅读
- php - 如何使用 htaccess 删除部分 url
- php - 用于替换匹配字符串数组的非破折号字符的正则表达式
- android - 如何将“Flutter for Web”转换为“Flutter for Mobile”?
- web-applications - 要求收集问卷模板
- javascript - 期望一个赋值或函数调用,而是看到一个表达式反应
- android - 观察片段中视图模型的实时数据
- android - 如何我可以禁用“edittext”键盘中的某些按钮
- c++ - 即使在指定路径后链接器也不链接
- ios - 无法重现应用程序冻结,如何调试?
- r - 用于选择和汇总每一列以供以后排列的循环