ForeveHG / Frontend-Daily-Interview

学习,尝试回答一些前端面试题
1 stars 0 forks source link

21. 谈谈变量提升 #21

Open ForeveHG opened 4 years ago

ForeveHG commented 4 years ago

所谓的变量提升就是js代码在执行时需要先初始化它的变量环境(VariableEnvironment),在初始化变量环境时,function,var,let,const的表现各有不同。 首先声明一个变量可以简单理解为创建,初始化和赋值三个步骤,在初始化变量环境时,function就创建,初始化,并赋值完成,var创建,初始化为undefined,但没有赋值,let只是先创建,没有初始化也没有赋值,const创建和初始化了

其中const与其他不同,const只能在初始化变量环境时进行初始化,之后不能对它赋值