JavaScript 中的提升
💡
原文英文,约1200词,阅读约需5分钟。
📝
内容提要
Hoisting是JavaScript中的一个概念,指的是在执行之前进行声明。变量和函数声明会首先被处理,允许在代码中使用它们之前进行定义。只有声明会被提升,而不是赋值。var和let变量的提升行为略有不同。const变量在初始化后无法重新赋值。未声明的变量是全局的,而函数作用域变量会被提升到其所在作用域的顶部。函数表达式不会被提升。JavaScript中的严格模式限制了在声明之前使用变量的行为。了解Hoisting在JavaScript中声明变量和函数时非常重要。
🎯
关键要点
- Hoisting是JavaScript中的一个概念,指的是在执行之前进行声明。
- 变量和函数声明会首先被处理,允许在代码中使用它们之前进行定义。
- 只有声明会被提升,而不是赋值,赋值保持在原来的位置。
- var和let变量的提升行为略有不同,var变量在提升后值为undefined,而let变量在提升后无法访问,存在时间死区。
- const变量在初始化后无法重新赋值,必须在声明时初始化。
- 未声明的变量是全局的,而函数作用域变量会被提升到其所在作用域的顶部。
- 函数表达式不会被提升,尝试调用会导致TypeError。
- 严格模式限制了在声明之前使用变量的行为,未声明的变量会抛出ReferenceError。
- 理解Hoisting对于正确声明变量和函数非常重要。
🏷️
标签
➡️