本文简单说说个人理解的《你不知道的 JavaScript》三册全书的脉络,便于大家更好的去入手学习阅读。
作用域和闭包
对于作用域,书中将函数作用域、IIFE、块作用域、变量提升、编译原理这些知识很全面地讲了一遍。
对于闭包部分,很好地解释了我困扰很久的问题 —— 闭包是什么。
更多本章内容可以看下我之前写的作用域详解一文。
this和对象原型
对于 this,本书从各个角度将 this 给讲得非常清楚。我也写了篇文章学习了一下:聊聊 JavaScript 中的 this。
对于对象,我觉得这是非常重要也很复杂的一个部分,需要重点学习。书中讲了 JavaScript 对象的相关知识、JavaScript 的面向对象设计思想、对象的原型和行为委托设计思想。我也写了 聊聊 JavaScript 的原型 、JavaScript 对象的属性描述符 、JavaScript 的 setter、getter 和 Proxy和 聊聊对象行为委托 四篇文章深入学习了一下。
类型和语法
这部分是比较基础的和简单的,不过系统了解一下也是很有收获的。
关于类型,我学习到了 JavaScript 中的各种不同类型以及一些用法、强制类型转换、各种原生函数对象。我也写了 JavaScript 类型全知道和 JavaScript 类型冷知识两篇文章进行整理。
关于语法,其实都是很常用的东西。其中一些冷门的知识点则不需要记忆,所以简单过了下。
异步与性能
异步是 JavaScript 中非常重要的知识之一,需要重点学习。书中从异步的特性、回调函数讲到了更好的异步解决方案 Promise 和生成器。讲的特别细(说了很多异步的问题和槽点)。这部分内容的建议是尽量使用新特性 Promise、生成器函数和 async 来操作异步行为,好处多多。我这里也整理了一篇文章聊聊 JavaScript 的异步。
性能部分对我收获不大,主要暂时用不上。书中介绍了 web worker、SIMD、asm.js、性能测试工具、性能优化技巧。篇幅不大,感兴趣的同学可以了解下。
起步上路
这部分先是讲了下 JavaScript 的最基本知识,像表达式、运算符、变量、条件判断等,然后简单介绍了 JavaScript 知识的基本概念,最后介绍了一下 《你不知道的 JavaScript》 系列书籍的每一章节内容。
本章并不算知识点,算是 《你不知道的 JavaScript》 这系列书籍的基础知识科普、书本结构和内容的简介。像是整系列书籍的前言一样。
ES6 及更新版本
这部分介绍了 ES6 规范中的所有知识点。由于我之前看了阮一峰老师的《ECMAScript 6 入门》所以只是简单复习了一下这部分知识。个人感觉如果是入门学习阮一峰的书更好一些。这里是我之前学习 ES6 的时候写的笔记:ES6 学习笔记(上) 和 ES6 学习笔记(下) 这两篇学习笔记。
最后一章介绍了一些 ES6 之后的技术和趋势,如 SIMD 和 WebAssembly。还有一些书中提到的技术现在已经可以使用了。
总结
总体评论下这系列书本,它不只是告诉读者如何使用 JavaScript,还细致地讲了很多原理性的东西。有很多干货在里面。
所有部分中,除了起步上路外其他章节都有很多可以学习的知识点。学完这系列书,感觉对于 JavaScript 的理解深刻了很多。发现自己的确有很多不知道的 JavaScript。
墙裂推荐想要深入学习 JavaScript 的同学入手~