首页 新闻 搜索 专区 学院

请问这个函数末尾括起来的i是什么意思啊,为什么这么用呢?

0
悬赏园豆:5 [已解决问题] 解决于 2016-04-12 09:00
for (var i = 0; i < 5; i++) {
  (function (idx) {
    setTimeout(function () {
      console.log(idx);
    }, 5);
  })(i);
}
nostic的主页 nostic | 初学一级 | 园豆:160
提问于:2016-04-02 21:38
< >
分享
最佳答案
0

for中间展开写

var f=function (idx) {
    setTimeout(function () {
      console.log(idx);
    }, 5);
  }

f(i)

懒人直接一个闭包,省掉了var f这个变量

收获园豆:5
Nyarlathotep | 菜鸟二级 |园豆:271 | 2016-04-06 09:22
其他回答(2)
0

括号是执行,i是传参

上帝之城 | 园豆:2452 (老鸟四级) | 2016-04-02 22:22

对这种写法接触不多,您能给分析一下执行过程吗

支持(0) 反对(0) nostic | 园豆:160 (初学一级) | 2016-04-03 15:14

@nostic: 就是个闭包的写法。

支持(0) 反对(0) 上帝之城 | 园豆:2452 (老鸟四级) | 2016-04-03 15:29
0

没见过,是c++的吗?

haiguanplayer | 园豆:204 (菜鸟二级) | 2016-04-03 12:15

js这边吧

支持(0) 反对(0) nostic | 园豆:160 (初学一级) | 2016-04-03 15:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册