let 声明的变量

重名会报错

for 中的var i 是全局变量

var numArray = [];
for (var i = 0; i < 3; i++) {//这个i 是全局变量
  numArray.push(i);
}
console.log(numArray);
// returns [0, 1, 2]
console.log(i);
// returns 3

for 中的let i 是局部变量

'use strict';
let printNumTwo;
for (let i = 0; i < 3; i++) {
  if (i === 2) {
    printNumTwo = function() {
      return i;
    };
  }
}
console.log(printNumTwo());
// returns 2
console.log(i);
// returns "i is **not defined**"