为什么说for循环设置循环变量的那部分是一个父作用域?

最近在看阮一峰老师的《ES6》

 

看到let时,发现一处for循环很神奇的地方。

 

书中的原话是:“另外,for循环还有一个特别之处,就是设置变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。”

书中的例子是:

1 for(let i = 0; i < 3; i++){
2     let i = 'abc';
3     console.log(i);
4 }
5 //abc
6 //abc
7 //abc

在for循环体内部,用let 声明一个变量i为‘abc’,而for循环设置变量的地方也是let 声明的变量i。

let生命的变量是在块及作用域起作用。输出的结果是三次abc。

并不是0,1,2,从这点可以看出,

设置循环变量的地方就是父作用域!循环体内部就是单独的子作用域!

转载于:https://www.cnblogs.com/chinabin1993/p/8463556.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值