ES6变量声明(var 、let、const)知识整理
一、var
-
ES5中,用var声明变量,变量实际创建的位置取决于如何声明该变量。
-
var具备变量提升作用:无论实际声明位置在何处,都会被是为声明于所在函数(或全局)的顶部,这就是变量提升。
扩展
函数的声明提前:
使用函数声明创建函数:function 函数(){}
它会在所有代码执行之前就被创建,所以我们可以在函数声明前来调用函数。
使用函数表达式创建函数。就不会被声明提前,所以不能在声明前调用。区别:
二、let
-
只在let命令所在的代码块中有效 {}就是一个代码块。
-
限制变量访问区域,让变量只服务块作用域中代码。
-
for循环体()中的变量也相当于循环体作用域中变量,不能被外部访问。
-
变量调用具有就近原则。
-
没有提升。
-
有let存在不允许重复声明。
三、const
- 用于声明常量
- 其值不能被修改,必须立即初始化
- 当const被赋值对象时,能够修改对象中内容,但不能换对象(修改了const保存的对象地址就会报错)