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

如何理解ES5中for循环中的i值呢?

如何理解ES5中for循环中的i值呢?

慕运维8079593 2019-03-05 11:12:47
ES5var a = [];    //ES5    for(var i=0;i<10;i++){        a[i] = function(){            console.log(i);        }    }    a[2]();执行代码a[2]() 打印出来的值是10;本人大致的理解是:函数里面获取i值时,只能获取到全局作用域的i,全局作用域的i就是循环体里面i"泄露"到全局的。我不确定自己的理解是不是错了,希望听听大神的意见。谢过
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

js只有函数内是局部变量
所有for循环内var i=0;i是全局变量
函数是在调用时取值的
调用时循环已结束i为10所以获取的是10

查看完整回答
反对 回复 2019-03-15
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

我觉得十三说得对

有利于你了解变量作用域哟

顺带看看ES6的let和块状作用于吧


查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 1272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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