# 什么是提升?什么是暂时性死区?var、let 及 const 区别?
# 什么是提升?
- 使用 var 声明的变量会被提升到作用域的顶部
- 函数也会被提升,并且优先于变量提升。
- 提升存在的根本原因就是为了解决函数间互相调用的情况
# 什么是暂时性死区?
- 不能在声明前就使用变量
# var、let 及 const 区别?
- 全局作用域下:
- 使用 var 声明的变量会被挂载到window上
- 使用 let 和 const 声明的变量,不会被挂载到 window 上
- var定义变量会提升,let,const不会
- 同一作用域中var允许重复声明,let,const不可以
- const 声明必须赋初值,且声明后不能改变