var
使用var关键字定义的变量,变量名可以重复,后面的变量会将前面的变量覆盖掉。
var方式定义变量,会统一提升到作用域的顶端定义,然后再指定的地方赋值。
var定义的变量,即使在指定的代码块中,仍然会提升到全局作用域的顶端。
let
因为使用var定义变量,存在上面的各种问题,所以从ES6开始,又引入的新的方式定义变量
使用let,在同一个作用域中,不能定义同名的变量。
let定义的变量,不存在提升。
const
const关键字,用于定义常量,常量的特点是:不能重新赋值,
并且在定义时,必须要赋值,否则会报错。