# let 不可同一作用域中重复声明,var 可以
报错:
let a = 1 ;
let a = 2 ;
不报错:
var a = 1 ;
var a = 2 ;
# let会参与预解析,var会预解析
报错:
console.log(a);
let a = 1 ;
不报错:
console.log(a);
var a = 1;
# let 在块级作用域内有效,var在函数作用域内有效
function test() {
let a = 1;
var b = 2 ;
if(true){
let a = 5 ;
var b = 6 ;
}
console.log(a);
console.log(b);
}
test();
# let 的作用?
总之呢,let从规范化的角度来说,要比var要进步了很大一步。
所以一般情况下的话,<mark>推荐用let,const这些。当然啦,如果相对var,const和let有更深入的了解</mark>
推荐几篇小文章,这样你就会对其相关知识点有更加深入的了解了。