前言
本章主要展示JS红宝书第四版28章的主要内容,属于页面章节和内容排版预览。可以按顺序学习,也可以按照自己的方式有计划、选择性学习。
章节:
第1章 什么是 JavaScript
介绍 JavaScript 的起源:从哪里来,如何发展,以及现今的状况。这一章会谈到 JavaScript 与 ECMAScript 的关系、DOM、BOM,以及 Ecma 和 W3C 相关的标准。
第2章 HTML 中的 JavaScript
了解 JavaScript 如何与 HTML 结合来创建动态网页,主要介绍在网页中嵌入 JavaScript 的不同方式,还有 JavaScript 的内容类型及其与 <script> 元素的关系。
第3章 语言基础
介绍语言的基本概念,包括语法和流控制语句;解释 JavaScript 与其他类 C 语言在语法上的异同点。在讨论内置操作符时也会谈到强制类型转换。此外还将介绍所有的原始类型,包括 Symbol。
第4章 变量、作用域与内存
探索 JavaScript 松散类型下的变量处理。这一章将涉及原始类型与引用类型的不同,以及与变量有关的执行上下文。此外,这一章也会讨论 JavaScript 中的垃圾回收,涉及在变量超出作用域时如何回收内存。
第5章 基本引用类型
讨论 JavaScript 所有内置的引用类型,如 Date、Regexp、原始类型及其包装类型。每种引用类型既有理论上的讲解,也有相关浏览器实现的剖析。
第6章 集合引用类型
继续讨论内置引用类型,包括 Object、Array、Map、WeakMap、Set 和 WeakSet 等。
第7章 迭代器与生成器
介绍 ECMAScript 新版中引入的两个基本概念:迭代器和生成器,并分别讨论它们最基本的行为和在当前语言环境下的应用。
第8章 对象、类与面向对象编程
解释如何在 JavaScript 中使用类和面向对象编程。首先会深入讨论 JavaScript 的 Object 类型,进而探讨原型式继承,接下来全面介绍 ES6 类及其与原型式继承的紧密关系。
第9章 代理与反射
介绍两个紧密相关的概念:Proxy(代理)和 Reflect(反射) API。代理和反射用于拦截和修改这门语言的基本操作。
第10章 函数
探索 JavaScript 最强大的一个特性:函数表达式,主要涉及闭包、this 对象、模块模式、创建私有对象成员、箭头函数、默认参数和扩展操作符。
第11章 期约与异步函数
介绍两个紧密相关的异步编程构造:Promise 类型和 async/await。这一章讨论 JavaScript 的异步编程范式,进而介绍期约(promise)与异步函数的关系。
第12章 BOM
介绍 BOM,即浏览器对象模型,跟与浏览器本身交互的 API 相关。所有 BOM 对象都会涉及,包括 window、document、location、navigator 和 screen 等。
第13章 客户端检测
解释检测客户端机器及其能力的不同手段,包括能力检测和用户代理字符串检测。这一章讨论每种手段的优缺点,以及适用的场景。
第14章 DOM
介绍 DOM,即文档对象模型,主要是 DOM Level 1 定义的 API。这一章将简单讨论 XML 及其与 DOM 的关系,进而全面探索 DOM 以及如何利用它操作网页。
第15章 DOM 扩展
解释其他 DOM API,包括浏览器本身对 DOM 的扩展,主要涉及 Selectors API、Element Traversal API 和 HTML5 扩展。
第16章 DOM2 和 DOM3
在之前两章的基础上,解释 DOM Level 2 和 Level 3 对 DOM 的扩展,包括新增的属性、方法和对象。这一章还会介绍 DOM4 的相关内容,比如 Mutation Observer。
第17章 事件
解释事件在 JavaScript 中的本质,以及事件的起源及其在 DOM 中的运行方式。
第18章 动画与 Canvas 图形
围绕 <canvas> 标签讨论如何创建动态图形,包括 2D 和 3D 上下文(WebGL)等动画和游戏开发所需的基础。这一章还会讨论 WebGL1 和 WebGL2。
第19章 表单脚本
探索使用 JavaScript 增强表单交互及突破浏览器限制,主要讨论文本框、选择框等表单元素及数据验证和操作。
第20章 JavaScript API
介绍各种 JavaScript API,包括 Atomics、Encoding、File、Blob、Notifications、Streams、Timing、Web Components 和 Web Cryptography。
第21章 错误处理与调试
讨论浏览器如何处理 JavaScript 代码中的错误及几种错误处理方式。这一章同时介绍了每种浏览器的调试工具和技术,包括简化调试过程的建议。
第22章 处理XML
介绍通过 JavaScript 读取和操作 XML 数据的特性,解释了不同浏览器支持特性和对象的差异,提供了简化跨浏览器编码的建议。这一章也讨论了使用 XSLT 在客户端转换 XML 数据。
第23章 JSON
介绍作为 XML 替代的 JSON 数据格式,还讨论了浏览器原生解析和序列化 JSON,以及使用 JSON 时要注意的安全问题。
第24章 网络请求与远程资源
探讨浏览器请求数据和资源的常用方式,包括早期的 XMLHttpRequest 和现代的 Fetch API。
第25章 客户端存储
讨论应用程序离线时在客户端机器上存储数据的各种技术。先从 cookie 谈起,然后讨论 Web Storage 和 IndexedDB。
第26章 模块
介绍模块模式在编码中的应用,进而讨论 ES6 模块之前的模块加载方式,包括 CommonJS、AMD 和 UMD。最后介绍新的 ES6 模块及其正确用法。
第27章 工作者线程
深入介绍专用工作者线程、共享工作者线程和服务工作者线程。其中包括工作者线程在操作系统和浏览器层面的实现,以及使用各种工作者线程的最佳策略。
第28章 最佳实践
探讨在企业级开发中进行 JavaScript 编码的最佳实践。其中提到了提升代码可维护性的编码惯例,包括编码技巧、格式化及通用编码建议。深入讨论应用性能和提升速度的技术。最后介绍与上线部署相关的话题,包括项目构建流程。