1.var
声明变量,同一作用域中能声明相同的变量名
存在变量提升,将var声明的变量提升到全局作用域,相当于:
2.let
声明变量,同一作用域中不能声明相同的变量名
不存在变量提升,具备块级作用域 { } ,存在暂时性死区(在当前作用域中声明变量之前不能使用变量)
3.const
声明常量,不能重复赋值
不存在变量提升,具备块级作用域{ },存在暂时性死区
1.var
声明变量,同一作用域中能声明相同的变量名
存在变量提升,将var声明的变量提升到全局作用域,相当于:
2.let
声明变量,同一作用域中不能声明相同的变量名
不存在变量提升,具备块级作用域 { } ,存在暂时性死区(在当前作用域中声明变量之前不能使用变量)
3.const
声明常量,不能重复赋值
不存在变量提升,具备块级作用域{ },存在暂时性死区