let比var要严格。
1.声明后未赋值,表现相同。
2.使用未声明的变量,表现不同。
var:输出undefined;
let:直接报错;
3.重复声明一个变量时,表现不同
var :输出内容;
let:直接报错;
4.变量作用范围,表现不同(使用{}重复声明)
var: 输出{}内部声明的变量;
let:输出{}外部声明的变量;
(let声明的{}内部变量与外部声明的变量并不是同一个)
注:
1.let声明变量前不能使用变量,否则直接报错;
2.如果let在声明时没有初始化变量,会自动分配undefined;
3.let语句声明的一个变量,范围限于声明它的模块中,可以在声明时赋值,也可以在脚本中
赋值;