学习过《Head First JavaScript》之后,对于阅读JS的基础语法应该是没有太大问题了,但是因为《Head First JavaScript》作为一门入门型的书籍,并不会在(高级)细节上过多深入,所以当我们要进一步提升JS代码阅读/编写能力的时候,肯定会遇到读不懂/搞不定的事情 —— 这是一件好事,这意味着我们要迈向JS高级编程了,而JS高程3正是这样一本符合我们追求上进的需求的好书。本书第三章用了大约50页的篇幅细致的介绍了JS的基本语法,如果你哪里忘记了就重温一下,第四、五章又用了大约70页的篇幅详细介绍了变量、作用域和引用类型。如果你嫌高程3太重,也可以拿一本薄的《JavaScript语言精粹》—— 又称蝴蝶书,只有100来页,可以很快看完,故名“精粹 ”。蝴蝶书的作者是道格拉斯·克罗克福特(Douglas Crockford,JSON的缔造者),蝴蝶书对于了解JS的基础知识,比如对象,数组,语法,作用域,闭包等等都颇有帮助,在JS的代码风格上也给出不少好的建议。
蝴蝶书进入到第六章,是面向对象的程序设计,这应该是本书的一个重点,也是每个JS写手应该熟知的内容。本书推出之时,距ECMAscript 5.1版发布并成为ISO国际标准也没有多久,ECMAScript5.1里是没有类的概念的,因 此依据ECMAscript 5.1 的标准来写OOP风格的程序与典型的面向对象语言(比如Java)有比较大的差别。通过本章,你将学到JavaScript独特的面向对象的编程方式,抛弃“类”的概念和基于“类的继承”,学习基于原型的继承和构造函数。并且将学会如何创建对象、定义自己的类型、使用继承以及其他各种操作来充分使用对象。本书作者 尼古拉斯.扎卡斯(Nicholas C.Zakas)可能觉得用JS写OOP这个事情可能会对典型的Java程序员造成困扰,还专门写了一本《JavaScript面向对象精要》,深入探讨了原始类型和引用类型、函数、对象、构造函数和原型对象、继承和对象模式等主题和特性,如果嫌本书写的还不够,可以专门阅读扎卡斯的这本不足百页的面向对象精要。
JavaScript面向对象精要Nicholas C. Zakas在第24章介绍了Javascript编程的最佳实践方法,着重于可维护性和性能。关于这两点,尼古拉斯专门还写了两本书,分别是《编写可维护的JavaScript》、《高性能JavaScript》,有兴趣的童鞋可以深入钻研。
关于ES6/ES2015、ES2016、ES2017 ,高程3出版的时候,ES6还没有影呢,但是近几年来,Javascript发展可谓日新月异,本书作者尼古拉斯也没有把读者们落下,于2016年出版了《Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers》,其中文版《深入理解ES6》也已经于近日出版发行,书中详细讲解了ES6在JavaScript对象类型、语法及其他方面激动人心的改变,是专门为熟悉JavaScript和ECMAScript 5的读者准备的指南,帮助大家理解ECMAScript 5和6之间的差异。
深入理解ES6- Get up to date with ECMAScript 6 and 7
- New frameworks, and new libraries
- Delve into web animation, emerging APIs, and build systems
- Test more effectively with mocks, unit tests, functional tests, and other tools Plan your builds for future ES releases