参考文章:阮一峰   ECMAScript 6 入门

ES6中新增加了 let  声明,它跟 var  的区别如下:

1、作用域不同,let  只在代码块中有效

{
var a = '123';
let b = '456';
} a; //'123'
b; //ReferenceError: b is not defined.

2、建议在 for 循环中使用 let 申明变量

for (let i = 0; i < 10; i++) {
// ...
} console.log(i);
// ReferenceError: i is not defined

如果你用的是 var,那么上面的结果就是10 了。

3、for 循环需要注意的是,设置循环的部分是一个父级作用域,循环体内部是一个单独的子作用域。

for (let i = 0; i < 3; i++) {
let i = 'abc';
console.log(i);
}
// abc
// abc
// abc

这个例子很好佐证了循环体内部的变量 i 和 循环变量 i 不是同一个作用域。

最新文章

  1. UITableView优化
  2. python3 实现简单的信用卡还款,取款转账功能V2
  3. MFC学习笔记
  4. HTML Minifier - 灵活的在线 HTML 压缩工具
  5. Beta版本——第一次冲刺博客
  6. ACM/ICPC 之 平面几何-两直线关系(POJ 1269)
  7. JS魔法堂:精确判断IE的文档模式by特征嗅探
  8. 随堂练习——Rational rose
  9. 洛谷P2327 [SCOI2005] 扫雷
  10. 单机安装TFS(转载)
  11. 升级到WP8必需知道的13个特性
  12. Oracle 体系结构2 - 实例和数据库
  13. php验证输入字符串中含有非法字符
  14. python第一步
  15. 手把手教你webpack、react和node.js环境配置(下篇)
  16. MYSQL 子查询返回多列显示
  17. LVM基本应用,扩展及缩减实现!
  18. 新版ios证书的申请
  19. 20165214 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 Week3
  20. ubuntu16.04如何安装floodlight并且连接eclipse

热门文章

  1. codeforce 462DIV2 C题
  2. 使用composer安装laravel5.4
  3. cocos2d-x 在vs2010下的搭建(win7系统)
  4. Tensorflow学习(练习)—CPU训练模型
  5. 246. Strobogrammatic Number 上下对称的数字
  6. Cloudstack动态修改CPU、内存
  7. Vue.js 安装及其环境搭建
  8. UCOSII在STM32F407上的移植
  9. 编写高质量代码改善C#程序的157个建议——建议25:谨慎集合属性的可写操作
  10. XE中FMX操作ListBox,添加上千条记录(含图片)