首先要说let,他是只在代码块中执行的变量,例如:
{
let a = 10;
var b = 1;
}
console.log(a);//defined
console.log(b);//1
面试题系列咱们说过,闭包的经典应用是在循环的时候:
var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 10
这样是得不出你想要的结果的,以前只有利用闭包,但是现在我们有了let:
var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function () {