例子
例子来源于阮一峰 ECMAScript 6 (ES6) 标准入门教程 第三版
(1)let命令只在它所在的代码块内有效。
// let
var a = []; // 代码第一行定义了一个数组a;
for (let i = 0; i < 10; i++) { //之后遍历循环,给数组的每个位置分别放了一个函数。
a[i] = function () {
console.log(i);
};
}
a[6](); // 6
console.log(a); // a:Array(10) 装了10个函数
当代码还在for循环里执行的时候,i正常地从1增加到10:
而当它一跳出循环体就显示不可用,印证了let命令只在它所在的代码块内有效
当执行a[6](),程序往前调用函数的时候,i获得值6