![](http://imagev2.xmcdn.com/storages/296b-audiofreehighqps/09/91/GKwRIasG0Wd3AAIEtgGTGwg2.jpg!strip=1&quality=7&magick=jpg&op_type=5&upload_type=cover&name=web_large&device_type=ios)
声音简介
js的变量提升是指,变量可以在声明之前使用,值为undefined。
js严格意义上并不是自上而下执行的语言,会存在变量提升,变量提升会将当前作用域声明的变量提升到程序顶部。
变量声明会提升,而赋值语句不会提升。
为什么会有变量提升?
js和其他语言一样,都要经历编译和执行阶段,js在编译阶段的时候,会搜集所有变量的声明并且提前声明变量,而其他语句不会改变它们的顺序,因此,在编译阶段的时候,第一步就执行了,而第二步则是在执行阶段执行到该语句才执行。
用var声明的变量才存在变量提升问题,es6中使用let则不会有该问题。
音频列表
- 2022-08
- 2022-08
- 2022-08
- 2022-08
- 2022-08
- 2022-08
查看更多
用户评论