book-javascript
入门
《JavaScript DOM 编程艺术》
这本书作为被大家推荐的最多的前端入门书籍是有道理的。他能真正让大家了解dom脚本编程,或是说前端编程技术背后的思路和原则。对于初学者来说,这本书没有任何门槛,按部就班跟着书籍实例编写代码即可。我们会知晓如何对浏览器元素操作和掌控,会学会如何实现简单的页面效果。这种简单易得的成就感是一个编程语言入门时最难能可贵的体验。阅读建议:这本书虽然简单,但是能让人快速对前端产生兴趣和成就感。不过后续学习jquery的时候可能会产生挫败感。原生js dom操作的成就感会被jquery便捷的API所彻底打败。所以一定要恰当的调整心态,转换思维方式,正确认识到jquery和原生js分别的优劣之处。在熟练使用jquery后还能想起来翻看这本书,找到之前未曾发现的闪光点,就是入门成功了。
《锋利的jQuery》
这本书如果紧接着dom编程看,会如我我说的那样瞬间摧毁你的小小的成就感。 因为这本工具书级别的书简单暴力到不给你思考什么“平稳退化”,“js动画计时器”这些dom编程中提及的问题,就直接就甩出一大片简单有效的jqueryAPI颠覆你的世界观。
作为工具书级别的书,或是说学习jqueryAPI的书,这是首选。
阅读建议: 熟悉jquery是每个前端必须要会的事。 只是不要被Jquery的便捷迷惑,而抛离原生js,把原生js贬得一文不值,否则后面会付出昂贵的代价。
《JavsScript高级程序设计(第三版)》
又称红宝书,雅虎首席前端架构师,YUI的作者Zakas出品。无论何时,这都是学习js最好的书。如果说其他的书都是在合适的阶段会有不一般的体验。这本书就是无论什么阶段,都够你感悟一番的。当你看完了市场上js相关(不包括框架类库的最佳实践类)的所有书籍。你再回去看这本书,也会发现其实95%的内容早就写在这本书里了,只不过你当时等级不够,根本没有意识到。这本书排版舒服,翻译得体,内容丰富,语言流畅。涵盖了js语法(面向对象,闭包作用域等),js使用(dom,bom,html5API),编程实践(高阶函数,编码规范)等程序员使用javascript时会遇到的大部分问题。所以无论何时我都会把高程三排在js推荐书籍的第一位。
《JavaScript权威指南(第六版)》
淘宝前端团队翻译的,看译者列表都是一堆大神。这本书又叫犀牛书,号称javascript开发者的圣经,网上对此书评价很多,大概意思都是说这本书是一本JavaScript文档手册,没有完整看过一遍此书的都不能算是一名合格的前端工程师
《深入理解ES6》
尼古拉斯,于2016年出版了 Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers,其中文版《深入理解ES6》也已经于近日出版发行,书中详细讲解了ES6在JavaScript对象类型、语法及其他方面激动人心的改变,是专门为熟悉JavaScript和ECMAScript 5的读者准备的指南,帮助大家理解ECMAScript 5和6之间的差异。
进阶
《编写可维护的JavaScript》 ★★★★
又一本Zakas的书,还没读完,基本上是zakas那本红宝书的子集,重点是javascript代码风格、规范以及最佳实践。
《JavaScript设计模式与开发实践》
这本书以实际的应用场景举例,告诉你不同js项目里如何共通设计模式,还极其详细的介绍了函数的高级用法,能让你对js高阶函数的认知上升一个台阶。难能可贵的是他还拿java作为静态语言的类比。从语言统一高度来给你分析这些问题。
阅读建议: 这是本适合反复阅读的书籍。 如果你的思路能根据应用场景自动切换到最适合的设计模式,说明你已吃透这本书了。
《高性能JavaScript》
Zakas大神的又一本神书,高工推荐的。
- 情景丰富,基本涉及所有js性能优化的场景。还会给出不同场景的实际测试数据,真实可信。我们在阅读这些场景实例的同时也丰富了自己js的使用经验。
- 给出了很多看似"旁门左道"的解决方案,而这些冷门的解决方案恰恰是有些人死活百度不到的真正能解决问题的最优解。
- 在说问题的同时说原理,深入浅出,游刃有余。所以这本书不仅仅是一本介绍js性能相关的书,而是一本涉及浏览器原理,js解析原理,用户体验等知识的javascript最佳注解。
阅读建议:建议和高程三一起看,可以算是高程三阅读的最佳伴侣。高程三告诉你“他叫什么,他什么样”,这本书就告诉你“他为什么”,“他该怎样”。所以,当别人还在为某些问题绞尽脑汁的时候,你已经从起点上干翻他们了。
《JavaScript语言精粹》
非常好的一本书,推荐反复阅读。
《JavaScript面向对象精要》
本书推出之时,距ECMAScript 5.1版发布并成为ISO国际标准也没有多久,ECMAScript 5.1里是没有类的概念的,因此依据ECMAScript 5.1的标准来写OOP风格的程序与典型的面向对象语言(比如Java)有比较大的差别。通过本章,你将学到JavaScript独特的面向对象的编程方式,抛弃“类”的概念和基于“类的继承”,学习基于原型的继承和构造函数。并且将学会如何创建对象、定义自己的类型、使用继承以及其他各种操作来充分使用对象。本书作者 尼古拉斯·扎卡斯(Nicholas C. Zakas)可能觉得用JavaScript写OOP这个事情可能会对典型的Java程序员造成困扰,还专门写了一本《JavaScript面向对象精要》,深入探讨了原始类型和引用类型、函数、对象、构造函数和原型对象、继承和对象模式等主题和特性,如果嫌本书写的还不够,可以专门阅读扎卡斯的这本不足百页的面向对象精要。
高级
《你不知道的JavaScript(YOU DONT KNOW JAVASCRIPT)》
大名鼎鼎的Github开源的书籍。其深入程度是其他js书籍难以企及的。可以说,这已经是大部分前端程序员对js语法可以深入了解的最底层了,再往下就直面编译原理了。
阅读建议: 用于提升自己的js语法的理解等级。 对于进入工作第二年的想深入理解js语法的同学来说特别有效。
《Secrets of the JavaScript Ninja》
从语言细节到复杂工程实践,想开发靠谱的各类底层代码,应该看看