title: JavaScript高级程序设计第四版学习–前言
date: 2021-5-13 22:30:23
author: Xilong88
tags: JavaScript
5月11号,参加完字节前端的面试,和面试官交流了很多.
把大致学习内容分为三个部分:
1.JavaScript基础,基于<< JavaScript高级程序设计第四版学习 >>进行学习.
2.Css基础,基于一个实践项目,面试官推荐模仿某一个网站或者跟着课程学习,但最重要的是实践,掌握并且理解.
3.框架学习,对Vue框架进行练习,对webpack进行练习,试着去理解框架某些方法后的底层逻辑.
所以,我开始研习"红宝书"了.
我希望我研习过程中注意以下几点,节约时间,因为秋招只有两个月就要开始了:
1.做笔记.我想以博客的形式去做笔记,博客是用github上的模板,因为只用来记录博客,所以其他地方的参数也不调了.这种形式有很多好处,我可以记录下看书过程中的一些关键点方便后期复习;可以练习写文档或者写博客的能力;最最重要的是有产出,这样会让我更有动力学下去.
2.希望可以多写Demo.一个知识点对应一个用于验证的Demo是最好不过的了,这需要我非常的耐心,保持这种耐心,这种耐心应该是一个程序员必备的特性.
3.希望可以多思考.尝试用自己的语言去解释一些知识,越通俗的话越好,加上一些自己的理解.
大概就是以上三点吧.
那么开始吧!
前言
Brendan Eich: JavaScript发明者,但贡献并不大
JavaScript是一门依赖宿主的语言
宿主为JavaScript 定义了与外界交互所需的全部 API:DOM、网络请求、系统
硬件、存储、事件、文件、加密,还有数以百计的其他 API.
因此,对 JavaScript 更准确的定位应该是一组浏览器实现.
也就是说,JavaScript是与载体紧密联系的,有些特性可能正是载体给的,如寄托于浏览器,她就有了DOM.
前言中概括了后续章节大致内容,如下
- 第 1 章,介绍 JavaScript 的起源:从哪里来,如何发展,以及现今的状况。这一章会谈到 JavaScript 与 ECMAScript 的关系、DOM、BOM,以
及Ecma 和 W3C 相关的标准。 - 第 2 章,了解 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,即浏览器对象模型,跟与浏览器本身交互的 API
相关。所有 BOM 对象都会涉及,包括 window 、document
、location 、navigator 和 screen 等。 - 第 13 章,解释检测客户端机器及其能力的不同手段,包括能力检测和
用户代理字符串检测。这一章讨论每种手段的优缺点,以及适用的场
景。 - 第 14 章,介绍 DOM,即文档对象模型,主要是 DOM Level 1 定义的
API。这一章将简单讨论 XML 及其与 DOM 的关系,进而全面探索
DOM 以及如何利用它操作网页。 - 第 15 章,解释其他 DOM API,包括浏览器本身对 DOM 的扩展,主要
涉及 Selectors API、Element Traversal API 和 HTML5 扩展。 - 第 16 章,在之前两章的基础上,解释 DOM Level 2 和 Level 3 对 DOM
的扩展,包括新增的属性、方法和对象。这一章还会介绍 DOM4 的相
关内容,比如 Mutation Observer。 - 第 17 章,解释事件在 JavaScript 中的本质,以及事件的起源及其在
DOM 中的运行方式。 - 第 18 章,围绕**
<canvas>
** 标签讨论如何创建动态图形,包括 2D 和 3D
上下文(WebGL)等动画和游戏开发所需的基础。这一章还会讨论
WebGL1 和 WebGL2。 - 第 19 章,探索使用 JavaScript 增强表单交互及突破浏览器限制,主要讨
论文本框、选择框等表单元素及数据验证和操作。 - 第 20 章,介绍各种 JavaScript API,包括 Atomics、Encoding、File、
Blob、Notifications、Streams、 Timing、Web Components 和 Web
Cryptography。 - 第 21 章,讨论浏览器如何处理 JavaScript 代码中的错误及几种错误处理
方式。这一章同时介绍了每种浏览器的调试工具和技术,包括简化调试过程的建议。 - 第 22 章,介绍通过 JavaScript 读取和操作 XML 数据的特性,解释了不
同浏览器支持特性和对象的差异,提供了简化跨浏览器编码的建议。这
一章也讨论了使用 XSLT 在客户端转换 XML 数据。 - 第 23 章,介绍作为 XML 替代的 JSON 数据格式,还讨论了浏览器原生
解析和序列化 JSON,以及使用 JSON 时要注意的安全问题。 - 第 24 章,探讨浏览器请求数据和资源的常用方式,包括早期的
XMLHttpRequest 和现代的 Fetch API。 - 第 25 章,讨论应用程序离线时在客户端机器上存储数据的各种技术。
先从 cookie 谈起,然后讨论 Web Storage 和 IndexedDB。 - 第 26 章,介绍模块模式在编码中的应用,进而讨论 ES6 模块之前的模
块加载方式,包括 CommonJS、 AMD 和 UMD。最后介绍新的 ES6 模
块及其正确用法。 - 第 27 章,深入介绍专用工作者线程、共享工作者线程和服务工作者线
程。其中包括工作者线程在操作系统和浏览器层面的实现,以及使用各
种工作者线程的最佳策略。 - 第 28 章,探讨在企业级开发中进行 JavaScript 编码的最佳实践。其中提
到了提升代码可维护性的编码惯例,包括编码技巧、格式化及通用编码
建议。深入讨论应用性能和提升速度的技术。最后介绍与 上线部署 相关
的话题,包括项目构建流程
综上,可以看出JavaScript的内容还是非常丰富的,想要掌握大部分并不是一时半会儿能做到的.
总结前言:
大致介绍了作者和译者的背景以及JavaScript的一些背景,概括了本书的基本内容,在复习的时候可以先看看概括,看到不熟悉的地方针对性地复习.
节约时间,在看的过程中做笔记,最后再优化!