1.let的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。var定义的变量为全局变量。
function f1() {
let n = 5;
if (true) {
let n = 10;
}
console.log(n); // 5
}
2.var在同一块可以重复定义,let不能
//正常
function () {
var a = 10;
var a = 1;
}
// 报错
function () {
let a = 10;
var a = 1;
}
// 报错
function () {
let a = 10;
let a = 1;
}