JavaScript 简介
JavaScript(简称 JS)是一种轻量级、解释型的编程语言,主要用于网页交互,是 Web 前端开发的核心技术之一(与 HTML、CSS 并称「网页三要素」)。
历史
1995 年由网景(Netscape)公司的 Brendan Eich 设计,最初名为 LiveScript,后因与 Sun 公司合作更名为 JavaScript(与 Java 无直接关系,仅为营销关联)。
1997 年起由 ECMA 组织标准化为 ECMAScript(ES),后续持续迭代(例如 ES2015 引入箭头函数、模块化、类、Promise 等)。
核心特点
跨平台
- 传统上在浏览器运行;如今通过 Node.js、Deno、Bun 等亦可跑在服务端与工具链上。
- 常见宿主:Chromium / Firefox / Safari(Web)、Node(服务端与构建脚本)等。
动态类型
- 变量无静态类型声明,运行期决定值的类型,可随赋值变化。
单线程宿主 + 异步
- 经典浏览器与 Node 事件循环模型下,多数用户代码片段在单线程上交错执行;耗时 I/O 依赖回调、
Promise、async/await、任务队列,避免整页长期阻塞。
- 经典浏览器与 Node 事件循环模型下,多数用户代码片段在单线程上交错执行;耗时 I/O 依赖回调、
多范式
- 支持基于原型的面向对象、
class语法糖、高阶函数与不可变风格等函数式写法,可按场景组合。
- 支持基于原型的面向对象、
主要用途
前端(Web / 小程序壳层)、Node 生态(Express / Koa / Nest 等)、移动端(React Native 等)、桌面(Electron)与各类工程化工具链(打包、Lint、测试)。
本区文档怎么读
整体按 语言核心 → 宿主(浏览器)→ 工程与实战 递进即可;目录由 VitePress 自动侧边栏列出,下列为 人工索引(部分主题已合并多篇为单文,避免重复打开)。
| 方向 | 建议入口 | 说明 |
|---|---|---|
| 总览与知识提纲 | 知识体系导图(JavaScript) | 树状提要,可与子目录对照查漏补缺 |
| 语法与类型 | 数据类型/、作用域/、ES6 新增/、遍历/ | Map&Set/01 已合并「为何需要 Map/Set」与选型表;函数/02 合并了原 this 辨析篇 |
| 异步与并发模型 | 异步/(含 异步 API/01、事件循环.md)、异步/异步 API/ | Promise / async / AJAX / 定时器等分篇保留 |
| 事件与用户交互 | 事件/ 01、事件和事件模型.md | 已将「事件模型 + 捕获冒泡 + 委托 + 阻止默认」合在一篇;事件循环详解见异步目录,避免两处大段重复 |
| 浏览器对象 | DOM/01(操作)、DOM/02(渲染与重排重绘);BOM/01(含原「BOM 对象有哪些」的补充 API) | 原 BOM/DOM 「概念 + 罗列」短文已并入主文 |
| 存储与离线 | 本地缓存/00 导读,本地缓存/ 下 Cookie/Web Storage、IndexedDB、Cache、WebWorker、PWA | 早前已按存储线合并过子篇 |
| 性能与模式 | 优化/、设计模式/、面向对象/ | 原 优化/04、为何新增 Map… 已迁入 数据类型/Map&Set/01 |
| 网络与实时 | websocket/ | 与 HTTP 缓存、报文等可对照站点 http/ 目录 |
| 工程向实战 | 实战/、前端算法/ | 断点续传、跨域、上传等场景文 |
若从 零开始:数据类型/01 → 作用域/01 → 异步/01 → 事件/01 → DOM/01 → 02 知识体系导图 扫盲区,再按岗位需要深入子目录。
