JavaScript 学习资源推荐
最近 reddit 有讨论:References for JavaScript Mastery. 去年 Rey Bango 博客上也有一篇文章:What to Read to Get Up to Speed in JavaScript. 下面是我的整理,希望能对你有所帮助。
登堂入门
- DOM Scripting: Web Design with JavaScript and the Document Object Model – 2005 年,这本书的第一版是我最喜爱的前端书籍之一。知识点的讲解轻松有趣,例子由浅入深,引人入胜。去年发现这本书有第二版了,增加了 HTML5 章节,原有内容也与时俱进。我相信无论新人还是老手,都会发现这是一本好书。
- Eloquent JavaScript – 这是一本在线书籍,里面的例子都可调试。作者缓缓道来,内容翔实丰富。从 2007 年始,这本书历经四年,直到今年一月份才正式出版。建议国内有志人士翻译成中文,在保证翻译质量的基础上,造福国内前端。
- jQuery Fundamentals – Rebecca Murphey 在 github 上维护的这本书,个人觉得是最好的 jQuery 入门教程,没有之一。
- JavaScript: The Good Parts – Douglas Crockford 的这本书薄而精,在不同阶段阅读,会有不一样的收获。建议通读一遍,日常可随意翻翻。
- 我阅读过的还有几本:Professional JavaScript for Web Developers, ppk on JavaScript, 1/e, Object-Oriented JavaScript. 都挺不错的,如果时间精力充沛,不妨读读。特别是 Stoyan Stefanov 的 Object-Oriented JavaScript, 个人觉得是非常好的一本教程式书籍,特别适合已有 OO 编程经验、同时想学习 JavaScript 的开发人员。
更上层楼
- JavaScript: The Definitive Guide – 学 JavaScript 的如果没读过这本犀牛书,就好像基督教徒没读过圣经一样。此书前面的章节很耐读,后面的语言参考,则方便查阅。这是 JavaScript 语言学习和参考查阅的首选书籍。该书第六版已完成,期待电子版和纸质书早日面世。
- Pro JavaScript Techniques – John Resig 的这本书,展现了 JavaScript 的专业开发技巧。如果想深入了解 jQuery 源码,这本书会非常有帮助。
- Secrets of the JavaScript Ninja – 这本书汇集了前端开发所需掌握的 JavaScript 知识的方方面面,是今年最值得期待的专业书籍之一。目前前 14 章已有电子版,最后 3 章 John Resig 还在编写中。中文版我和沉鱼已经在翻译,敬请期待。
- High Performance JavaScript – 如果你关注 JavaScript 的性能,那 Nicholas C.Zakas 的这本书是绝对值得一读的。
- JavaScript Patterns – 偷懒是程序员的优良品质,模式则是先人们总结的偷懒招式。Stoyan Stefanov 的这本书,从 JavaScript 的实际使用场景出发,提炼了不少可以让前端们偷懒的实用招式。模式的探索、创新,将永远是程序员自我提升的一条修炼之道。
- Douglas Crockford’s JavaScript – Crockford 大牛在 JavaScript 方面的总结,有不少经典文章,值得研读。
- JavaScript Garden – 这里汇集了 JavaScript 的一些经典话题,很值得花时间研读。
- 我阅读过的还有:High Performance Web Sites, Even Faster Web Sites, HTML5 Up and Running.
参考查阅
- Mozilla Developer Network – 这是 Web 开发人员的宝藏,遇到问题建议优先到这里查查,闲时没事也可以到这里逛逛。我相信,作为 Web 开发人员,你会喜欢这里的。
- MSDN Web Development – 遇到 IE 的兼容性问题时,如果 Google 不能解决,请马上到这里搜索。对前端来说,最经常查阅的是 HTML and CSS 与 Scripting 两部分。不要恨 IE, 一旦你了解了她,你会爱上这个敌人。
- ECMA-262 系列:ECMA-262 3rd Edition 和 ECMA-262 5th Edition, 这两个链接都是在线版本,查阅方便。此外非常推荐注释版:Annotated ECMAScript 5.1, 有阅读笔记和关联链接,适合研读。
- 还有 W3C 等站点,就不细说了。
订阅关注
这个有很多,列举太耗时费力。可以 follow 我的推荐:
Google Reader 里,我的 Shared Items 很谨慎,读过且觉得值得一读或有查阅价值的文章我才会 share. Twitter, 最近用得比较少,有时会推荐一些资源,大家可酌情订阅。在我的 following 里,有一些国内外著名的前端开发人员,推荐大家根据兴趣,选择性 follow.
再推荐一个站点:JSMentors.com, 这里收集了不少全世界范围内有影响力的前端导师们,建议选择性订阅。
写在最后
这里只推荐了 JavaScript 相关的学习资源。作为一名前端工程师,还得具备 HTML, CSS, 基本的后台开发知识,以及交互设计等用户体验相关知识。这些方面的学习资源,是另一个话题,以后有机会再和大家讨论分享。
上面提到的书籍,是我读过的部分。提到的网站,是我经常光顾的。我相信还有非常多优秀的书籍和网站,期待大家的挖掘和分享了。
书籍版本的选择,我的排序是:英文纸质版 > 英文电子版 > 中文高质量翻译版。这只是我个人的一个 taste, 建议根据实际情况,选择合适自己的即可。
国内的原创前端书籍,我仔细看过的只有《悟透 JavaScript》和《JavaScript 语言精髓与编程实践》。翻译类书籍里,只抱着研究翻译的心态,看过部分译稿。如果有英语阅读能力,个人不是很推荐购买译本。目前国内前端译作,个人感觉质量较烂,甚至离及格还有距离。高质量的翻译,需要我们所有前端共同努力了。
最后想提一点:要让自己有效消费信息,而不要让信息消费你。比如书籍,一个阶段,读一两本就好,贪多嚼不烂。学习阶段容易产生焦虑,甚至自我否定,要调整好心态。要明白你花了一晚上可能都没弄明白的一篇博客,作者当初可能花了好几个月才研究整理出来。保持良好的心态,不断挖掘自己的真正兴趣点和擅长点,在自知的基础上自我弥补、自我提升,在自我提升的螺旋中进一步自我认识、自我坚持。这是一种修行,有苦有乐,冷暖自知。付出汗水,登上峰顶,才有可能见到满眼的精彩。