为了账号安全,请及时绑定邮箱和手机立即绑定

一道经典的JS关于闭包的题

一道经典的JS关于闭包的题

Smart猫小萌 2018-10-12 14:15:26
for(var i = 0; i < 5; i++) {    (function() {        setTimeout(function() {            console.log(i);        }, i * 1000);    })(i);}问输出什么?我其实是想问的是不是可以拆一下,拆成for(var i=0;i<=5;i++){function ret(i){function timer(){console.log(i);}setTimeot(timer,i*1000);}ret(i);}原题自己跑过了,输出的是5个5是不是可以理解为:因为根本没有i传入到块级作用域里面去,所以里面跑的还是外面跑完之后的i?不知道上面的理解的对不对,求大佬指点一下,看了一晚上闭包,看的要死啦....求大佬推荐IIFE方面的文章,看了好几篇都感觉理解不了闭包和IIFE。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 488 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号