一、JavaScript 作用域

1. 概念

作用域(Scope):变量和函数的可访问范围。

分类:

  1. 全局作用域:在任何地方都能访问的变量。

  2. 函数作用域:函数内部声明的变量只能在该函数及其子作用域中访问。

  3. 块级作用域(ES6 新增):let、const 声明的变量仅在 {} 内生效。

2. 作用域链

访问变量时,JS 引擎会 从当前作用域开始,逐级向上查找,直到找到为止。

如果到达全局作用域还找不到 → 抛出 ReferenceError。