var
:
1.可以重复声明
2.无法限制修改
3.没有块级作用域
4.全局作用域
5.通过 var 关键词定义的全局变量属于 window 对象:
let:
1.不能重复声明同一个let变量
2.变量-可以修改
3.块级作用域
为什么let连续声明两次会存在问题
而var却可以呢???
let b = 1;
let b = 1;
那我们说说var重复定义变量的缺点吧。
假如多个人开发一个项目。都定义了一个变量a,但各自用途不同。这样var后面定义的a就会把前面定义的a覆盖。
而let就是用来解决这个问题,这也是let的意义所在。
const:
1.不能重复声明
2.变量-不能用其他语句修改
3.块级作用域