var 和 let 都是声明变量的
let 不能重复声明变量
var 可以重复声明变量,重复声明的变量以最后一个为准
let 块级作用域,不存在变量提升
var 全局作用域,会变量提升
例如:
<script>
{
let a = 11;
}
console.log(a)
</script>
会报错
如果把let 改成 var ,就能正常打印,var 会自动提升到全局变量
<script>
{
var a = 11;
}
console.log(a)
</script>