JavaScript 中的提升

💡 原文英文,约1200词,阅读约需5分钟。
📝

内容提要

Hoisting是JavaScript中的一个概念,指的是在执行之前进行声明。变量和函数声明会首先被处理,允许在代码中使用它们之前进行定义。只有声明会被提升,而不是赋值。var和let变量的提升行为略有不同。const变量在初始化后无法重新赋值。未声明的变量是全局的,而函数作用域变量会被提升到其所在作用域的顶部。函数表达式不会被提升。JavaScript中的严格模式限制了在声明之前使用变量的行为。了解Hoisting在JavaScript中声明变量和函数时非常重要。

🎯

关键要点

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

继续阅读