常常有人要我推 荐学习JS的书籍或者在线教程。看起来每个人都有很好的理由在JS领域有所行动。如果你对让人兴奋的工作机会很感兴趣的又想要玩一玩有意思的东西,那么 JS一定是个很棒的语言。隨著JS的流行度增加,相关的书籍、博客和教程也随之大量增多,但是我不可能所有的资源都了解过,但是我看到了一些很不错的东西 也想在这里分享给你。 书籍请注意,在这里我只会推荐我已经看过的书籍,你肯定可以发现有无数的书和我推荐的一样好。 《Nicholas Zakas:JavaScript高级程序设计》 这本书一直都是 我推荐书单上的第一名,也是我总和任何JS开发者建议的总放在书架上的一本书。Nicholas Zakas所写的这本书非常非常奇妙:它概括了JS这门语言主要的知识点。想要读点基本知识点?你可以在这本书里找到。想要了解JS的OOP思想?也可以 在这本书里找到。想要了解文档对象模型(DOM)?这本书也可以给大家勾画一个大概。本书内容通俗易懂,从JS的基本知识到高级应用都有涉猎概括,因此我 将它推荐给所有的JS开发者。 Stoyan Stefanov:JavaScript设计模式 要了解现在最常 见的JS设计模式,以及这些设计模式是如何恰当地管理和组织你的代码。你所选择的设计模式会成为你的应用的基石,当你在思考如何构建你的站点时,这些设计 模式会扮演很重要的角色。Stoyan是这世界上最棒的JS开发者之一,他在Yahoo!和Facebook都工作过也曾参与了YUI的构建。 Stoyan很了解他在做的事情,而且他致力于普及将常见的设计模式。 Stoyan Stefanov:JavaScript面向对象编程指南,英文版 JavaScript 面向对象,请尽情地用你的prototype来嘲笑我好了。因为JS不是传统的基于“类”的面向对象语言。如果你总是在思考原型集成 (prototypal inheritance)和混入(mixin),那么你只会变得很wonky。Stoyan又走在了技术大潮的浪头上,他将这个问题划分成了小问题来解 释。开始的时候他先是稳步解释了一些语言基础知识让你在实践中去学习,但是他又很快地投入到解释OOP是如何工作的,使用者要如实利用JS的语言优势来构 建可重用的对象。 Nicholas Zakas:编写可维护的JavaScript
我们都希望我们的程序可以飞速地运行,所以我们时不时会重构优化代码。从学校学习中汲取知识很酷但是我更倾向于从前人的经验中获取资源。这本书将会告诉你如何优化你的代码以提高性能。
在我第一次看到这本书的时候,我并没有100%肯定它就是我想要,我觉得它更像是把 其他JS书籍中的内容进行整合然后编写出来的。但是我看到Dojo的作者Alex Russell和Chrome Frame fame都推荐了它,我还是买下了它,现在我很庆幸当时的举动。本书的作者是Mozilla TC39的代表,同时也是(无论是学术层面上还是工业界层面上的)编程语言领域的专家。这本书的优点之一就在于,它并没有在针对JS这门语言来阐述,它所 提供的种种方法是希望编程人员能发挥语言的最大作用。本书中澄清了编程语言的每一部分是怎么工作的(比如约束、柯里化或者自动添加分号)。这本书一定适合 希望他们对JS的理解能够更上一层楼的编程人员。
John Resig and Bear Bibeault: Secrets of the JavaScript Ninja
不论你对jQuery抱有什么态度,不可否认的是John Resig(jQuery之父)确实创造除了最受欢迎JS库,同时凸显了JS的作用增加了JS的灵活性。这本书花了4年时间完成,但我觉得等待4年一点都不过分。
淘宝前端工程师 Limu 力荐
彩蛋我知道大家手头比较紧,所以如果有免费的资源是最好的。我很幸运地找到了一个提供一些免费资源的站点。由Revolunent创办的JSbooks提供了一些质量不错的在线资源:
博客许许多多的人都在博客上分享他们的故事、想法……我们很难辨认出到底要持续关注谁的博客。随着阅历的增加,我尝试着把关注的博客的数量降低,下面这些是我诚挚推荐,认为它们非常有用的:
名字已经说明了一切。这个站点提供了前后端的JS相关的新闻和教程。它还会定期整理jQuery的插件。
我并不是Nicolas的粉丝,但是他写的博客确实和他的书一样棒,他的博客中提到的JavaScript的高级应用我认为每一个开发者都要铭记在心。
David努力成为一个很优秀的开发者,他参与了MooTools和Dojo框架的开发,现在在Mozilla工作,他的博文有极高的可用性。
这也是一个集合报导和教程的站点。常常让我想到过去的Ajaxian,我常在这里寻找各种有意思的库和新的技术。
这是我唯一会留在收件箱中的邮件订阅,每一周的推送都非常的有一席。说正经的,我不知道Peter Cooper怎么能找到这么多有意思的文章。不过要小心,它可是会伤害你的生产力的。
我认为Addy是最天才的开发者之一,在他的博客中可以看到从jQuery promises到AMD的许多知识,而他发表在 编写模块化的JS中的内容非常棒。 |