JavaScript 学习手册

免费学习 完整知识体系 快速检索

JavaScript学习手册《作用域与作用域链》:作用域决定了变量在代码中的可访问性。 **全局作用域** – 在函数外声明的变量,可在任何地方访问。 **函数作用域** – 在函数内声明的变量,仅在该函数内可见。 **块级作用域(ES6)** – `let` 和 `const` 在...

作用域

作用域与作用域链

【详细说明 & 代码示例】
作用域决定了变量在代码中的可访问性。 **全局作用域** – 在函数外声明的变量,可在任何地方访问。 **函数作用域** – 在函数内声明的变量,仅在该函数内可见。 **块级作用域(ES6)** – `let` 和 `const` 在 `{}` 内有效。 **作用域链** – 当访问一个变量时,JavaScript 会从当前作用域向外层作用域逐级查找,直到全局作用域,若未找到则报错(严格模式下)或创建全局变量(非严格模式)。 ```javascript let global = 'global'; function outer() { let outerVar = 'outer'; function inner() { let innerVar = 'inner'; console.log(global); // 可访问 console.log(outerVar); // 可访问(闭包) console.log(innerVar); // 可访问 } inner(); console.log(innerVar); // 报错(超出作用域) } ``` **词法作用域(静态作用域)** – 函数的作用域在定义时确定,而非调用时。 ```javascript let x = 1; function foo() { console.log(x); } function bar() { let x = 2; foo(); // 输出 1,因为 foo 在全局作用域定义 } ```

学习提示:建议打开浏览器开发者工具(F12)中的 Console 面板,直接运行代码片段,实时查看输出,加深理解。

全部章节目录(共 48 个知识点)

JavaScript 基础 (1个知识点)

字符串 (1个知识点)

日期与时间 (1个知识点)

错误处理 (1个知识点)

BOM 操作 (1个知识点)

异步编程 (1个知识点)

Promise (1个知识点)

async/await (1个知识点)

Ajax 与请求 (1个知识点)

模块化 (1个知识点)

(1个知识点)

闭包 (1个知识点)

作用域 (1个知识点)

正则表达式 (1个知识点)

框架与库基础 (2个知识点)

使用说明

  • • 本手册涵盖 JavaScript 从基础到 ES6+ 及 Web API 的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议打开浏览器开发者工具(F12)的 Console 面板运行代码,加深理解