Hoisting
提升是 JavaScript 将变量声明与函数声明移至作用域顶部的行为,var 与 function 声明被提升。
用途
理解 JS 变量与函数声明的提升行为,避免引用未初始化变量。
机制
var 声明提升但赋值不提升(值为 undefined)。function 声明整体提升(可用)。let/const 声明提升但进入暂时性死区(TDZ),使用前报错。
用例
- JavaScript 理解
- 调试
- 代码规范
提升是 JavaScript 将变量声明与函数声明移至作用域顶部的行为,var 与 function 声明被提升。
理解 JS 变量与函数声明的提升行为,避免引用未初始化变量。
var 声明提升但赋值不提升(值为 undefined)。function 声明整体提升(可用)。let/const 声明提升但进入暂时性死区(TDZ),使用前报错。