关于JavaScript 的好书有哪些

JavaScript030

关于JavaScript 的好书有哪些,第1张

1. JavaScript DOM 编程艺术

这本书作为被大家推荐的最多的前端入门书籍是有道理的。

他能真正让大家了解dom脚本编程,或是说前端编程技术背后的思路和原则。

对于初学者来说,这本书没有任何门槛,按部就班跟着书籍实例编写代码即可。

我们会知晓如何对浏览器元素操作和掌控,会学会如何实现简单的页面效果。

这种简单易得的成就感是一个编程语言入门时最难能可贵的体验。

阅读建议:

这本书虽然简单,但是能让人快速对前端产生兴趣和成就感。

不过后续学习jquery的时候可能会产生挫败感。原生js dom操作的成就感会被jquery便捷的API所彻底打败。所以一定要恰当的调整心态,转换思维方式,正确认识到jquery和原生js分别的优劣之处。

在熟练使用jquery后还能想起来翻看这本书,找到之前未曾发现的闪光点,就是入门成功了。

2. JavsScript高级程序设计(第三版)

无论何时,这都是学习js最好的书。

如果说其他的书都是在合适的阶段会有不一般的体验。

这本书就是无论什么阶段,都够你感悟一番的。

当你看完了市场上js相关(不包括框架类库的最佳实践类)的所有书籍。你再回去看这本书,也会发现其实95%的内容早就写在这本书里了,只不过你当时等级不够,根本没有意识到。

这本书排版舒服,翻译得体,内容丰富,语言流畅。涵盖了js语法(面向对象,闭包作用域等),js使用(dom,bom,html5API),编程实践(高阶函数,编码规范)等程序员使用javascript时会遇到的大部分问题。

(今天在上海面试了一天。大部分很顺利,只是有几个比较偏的问题没回答好。晚上回去之后一翻高程三,果然在里面都写得明明白白的。不得不服。)

阅读建议:

人们喜欢把他和犀牛书拿一起推荐,不过就我看来,他们完全不是一个可读性上的。

一个是课本一个是字典。而且还是佶屈聱牙的字典。

所以无论何时我都会把高程三排在js推荐书籍的第一位。

3. 锋利的jQuery

这本书如果紧接着dom编程看,会如我我说的那样瞬间摧毁你的小小的成就感。

因为这本工具书级别的书简单暴力到不给你思考什么“平稳退化”,“js动画计时器”这些dom编程中提及的问题,就直接就甩出一大片简单有效的jqueryAPI颠覆你的世界观。

这本书是如此的易懂以至于看完之后瞬间就觉得自己能把web玩出一片花来了。

作为工具书级别的书,或是说学习jqueryAPI的书,这是首选。

入门可以看《javascript高级程序设计》与《javascript dom 编程艺术》尤其是后者,真是好书。我以前看了许多视频,翻那本很厚的指南与高程,最后还是靠《javascript dom 编程艺术》激发我学习兴趣入门。

看了三四次《javascript高级程序设计》就可以看蝴蝶书《javascript语言精辟》,这是讲JS的语法设计,那些语法应该用,那些不应该用(如==、 with、 eval、 argument.caller),这提高你的代码质量必不可少。

如果你想写一个插件或一个库,就要涉及大量DOM,BOM知识了。毕竟javascript是胶水语言,而CSS与HTML在JS里都会映射为DOM,此外还有一些涉及浏览器的东西,叫BOM。

掌握各大浏览器提供的底层DOM、BOM API,及了解它们之间的差异,如何检测它们是否支持,如果屏蔽它们之间的差异性,如何选用最佳的API是我们成为高手的关键。

《PPK 谈 Javascript》,主要是说DOM的兼容性与可用性问题。

《JavaScript DOM高级程序设计》,这本非常优秀,不知为何被理没了(也可能是出版社的缘故,很早就买断货就不知道补课),我在这里了解许多操作CSS的API。

《JavaScript框架设计》这完全是本面向中高级的书,涉及一般书没有讲解过的模块加载器,事件管理系统,选择器引擎,异步列队,动画引擎,及时下日益流行的MVVM架构。

《数据结构与算法JavaScript描述》,越复杂的系统,最后都在架构与算法与数据结构上下功夫,虽然用得不多,但作为一个高手,算法不精真是一个痛点。比较实现一个选择器引擎,人家都会问你比jQuery的快吗?加之JS在这方面也有它的特殊点,因此还得学习。

时下也有许多angular与backbone的书,我本人认为他们基本上照搬官网的API文档,很少能讲到底层的实现,能获得的知识点太少了,它们只能用于入门(你英语不好的话),因此不建议入。

不知道题主目前的JS功底如何。作为过来人,把自己经历的几个阶段适合的书罗列一下吧:

第一阶段(新手,入门):《DOM编程艺术》,《javascript权威指南》(传说中的犀牛书,太厚,不会就查,权当字段用)。《javascript高级程序设计》

第二阶段(进阶):《javascript设计模式》(让你的js代码完成从脚本到程序的蜕变),《高性能javascript》(该书通篇从各种角度去阐述JS提高性能的方式。)

第三阶段(精通):本人目前还在第二阶段。所以。。。