有人说只要了解了javascript的基本语法,就可以通过看别人的代码来学习javascript了,我不敢苟同。代码是死的,它很难让你有自己的想法,而一本好书如果结构清晰,各个章节都立意明确循序渐进(当然如果作者能有点小幽默就更好了),可以帮助你学习该如何思考,这并不是唬人,更何况大部分时候你可能都是在啃一些结构差劲、语法混乱、注释不清晰的代码(比如我写的....)。
我觉得我可以以过来人的身份(过来人指的是我看书的经历,我的学习javascript的过去小于等于三个月,只是有一点java的基础,也就是说针对那些跟我一样是刚起步的同学或者朋友)来介绍下如何通过循序渐进的看书来学习javascript,如果所在单位或者学校有图书馆先可以供你预期考察就更好了,本人由于就住在学校图书馆附近,而且它图书更新比较快也比较全,基本china-pub上出现的书,两个月内就可以上架(有些好书两个月也很难熬),所以有点优势。但是无论是否有图书馆供前期观摩,对于有些好书是值得你慷慨解囊的(但是有些基本上一遍,它的营养就被你汲取了,当然并不是它写的不好,入门书有入门书的针对性)。我先评价下自己看过或者浏览过的一些书(全是自己的看法):
注:并不是我给图灵给人民邮电在做广告,是因为其他出版社真的没出啥好书,李肛之流的培训班式的书籍真的让我想不到有任何想推荐的理由,这种不负责任的一个月出一本千把页书的作者,为什么会被捧得那么高自己实在是很压抑,公道的讲,这类作者的书籍可能会有不错的开场,但是必定烂尾,甚至烂心,连虎头蛇尾都做不到 凸(*_*#)。
javascript高级程序设计(二)
评价:本书第一版内容(不针对思想)已经过时,建议直接看第二版。雅虎内部人员的手册书,可想而知它的含金量。中间关于dom以及CSS的,建议对照javascript dom高级程序设计的第三章与第五章的内容一起看,个人觉得这两章结构组织的没有后者好。这本书的前面几章以及后面那节高阶应用,绝对是亮点,是参阅进阶书籍的基础。
错误以及翻译:个人非常喜欢的一个译者,低调务实谦虚,维护了一个算比较好的blog,里面有关于这本书的勘误,我最喜欢了几本书里面就有三本是他的出品。这边书的中文版没有上架之前,我曾经忍不住内心的躁动看了300页的原书,有些地方愣是没看懂。所以我跟网上某些人动不动就因为书中有细微的错误就建议读者去看原版的行为感到不齿,自认为自己英语还行,平时由于实验室课题基本也是跟英语文献打交道。
入手:强烈建议购买,价格小贵。
javascript dom高级程序设计
评价:这本书犀利到无语,完全打通了我的奇经八脉,好在学校识货的不多,让我长期霸占了这本书长达两个月.....现已入手
错误以及翻译:这本原书错误很多(即使作者作了很多的修改,中文版还是有很多错误,是同一个译者),但是瑕不掩瑜,翻译得非常通顺,但是译者的勘误表里只有一些无关紧要的标点小问题,这个做法我不是很认同,书中代码都还是有一些严重的错误 。这里其实也可以看到译者的水平也是在不停上升的,这本书译者有画龙点睛的译者注,同时也产生了很多画蛇添足的译者注。
入手:强烈建议购买,但是现在很难买到了,可能销量不高停印了。
javascript设计模式
评价:原本以为在javascript中通过模仿强加进设计模式是一个噱头,看了这本书(才看一半,书虽小但是营养极高),才发现自己的想法有多么的愚昧,原书作者为YUI团队的核心开发人员,这里使用到的设计模式很多都是利用到了YUI库中的开发中去了。
错误以及翻译:由于原书的质量就很高,基本没什么错误,译者很踏实提到自己因为翻译质量多次延期,但是翻译差强人意,画蛇添足的译者注屡见不鲜。
入手:强烈建议购买,而且这种书基本是不会过时的,相信我没错的。
javasript语言精粹
评价:最喜欢的一个章节,就是它对很多内置函数用javascript来做了实现 , 可以看出作者的功力。这是一本很好的书籍,对javascript好的部分与不好的部分都做了描述,但是个人觉得很多所谓的不好的部分恰恰是体现一个前端开发者个人功力的部分,谈不上摒弃,维护代码并且保证浏览器实现一致本就是开发者分内的事情,就如同你不能选择你的出身一样,既然你走了前端这条路就认了吧。
错误以及翻译:真的不喜欢博文的书的排版,翻译的很顺畅,错误我没发现,当然我也没有通篇认真阅读。
入手:好书,建议通读一遍写点笔记之后,下一本电子书(好吧,我偏袒图灵了)。
javascript权威指南
评价:这本书我从来都没有借到过,基本在出借状态就有一大排的预定记录了,不过我在阅览室粗粗的浏览过,大概有一半的纸张是javascript的文档说明,价格较贵。
错误以及翻译:都说是权威了,作者个个都是有来头的大牛... 翻译一般,网上骂的人很多,但是个人感觉不影响理解 。
入手:习惯翻书查询的朋友,手有余钱的建议入手一本,抱在怀中应该比较敦实有感觉(我想基本你在码代码的时候都在电脑前吧,有电脑应该就有网,这不就得了 小透露一下平时我都在这里查:http://stephen830.javaeye.com/category/57459)
javascript dom 编程艺术
评价:当之无愧可以成为最佳第一本书,可惜我遇到它的时候已经走了很多弯路,我看它只花了一个下午,笔记只有薄薄一页(笔记虽少,还是有营养的),可见它的作用也仅限于入门。同时推荐该作者的一本ajax入门书:Bulletproof Ajax中文版 也是可以一下午看完,然后产生薄薄一页但是极度精炼的笔记,这本书让我真正意义上明白了什么是可退化的ajax设计。
错误以及翻译:不评价了,很简单一书,即使你看原版书籍也不会觉得晦涩
入手:不建议入手,看一遍基本就过去了,但是必须记点东西。
javascript捷径教程,精通javascript
评价:都是好书,都很薄,可以睡觉前来几眼,营养比较好,精通javascript后半部分....想法是 好的,但是真的只是适合写在博客就行,而且此类的内容很多书都已经提到了,有点虎头蛇尾的感觉,所以技术牛人不一定是写书的牛人,虽然别人是jQuery之父,但是如果写jQuery书籍势必应该没有jQuery基础教程来的好
错误以及翻译: 捷径教程写得很精炼,有不大不小的错误,当然这种错误的影响可大可小,可能你一辈子都不觉得这个是个错误。
入手:为什么放在一块,因为两本书真的差不多,建议下电子书吧...................或者借书看,要知道书非借不能看也。
PPK谈javascript
评价:简单的在阅览室过了一半内容吧,看过的感觉是,内容有点过时了,当然作者是非常强悍一人,英文原书应该是05年左右的。
错误以及翻译:没发现什么错误,翻译中规中矩相比一些比较犀利的译者而言。
入手:真想买,就建议买本旧书吧。
以上所有书,我至少都在读或者浏览过,文章结构都很清楚,接下来我做个很主观的建议阅读路线
建议阅读顺序:
权威指南,javascript dom编程艺术(====>javascript捷径教程,精通javascript)=======>javascript高级程序设计与javascript dom高级程序设计======>javascript设计模式。
还有一本高性能javascript由于作者很喜欢,我认为这边应该不会差,听名字应该是贴近实际项目会遇到的问题。
接下来还有一本觉得开篇不错的英文书可以放在 这所有书之后 阅读(本人还没有读) javascript patterns.
当然,好的javascript开发者必须要有娴熟CSS知识,比如盒模型,以及浮动机制等等。学习CSS选择器,也是学习jQuery选择器的基础,关于CSS的书籍就不列举了。
最后简单介绍下我所读过的三本jQuery的书籍(其中一本还让我领略了前端的魅力,将我领进的学习javascript的大门),类型相似都应该是传统意义上的入门书籍,虽然重合,但是还有一点细微的梯度的,他们分别是:
锋利的jQuery : 国内的书籍,建议第一本阅读,母语总比翻译来的要好理解的多,由于同类的jQuery书籍有很多很强势,所以有点被掩盖了光辉。
jQuery实战:名字与实际不符合,是一本不可多得的超级入门书,必须配合它的实验室的例子来学习才有最好的效果,我个人只看了前面几章,翻译没有啥错误,但是读起来就是不自然。
jQuery基础教程(二):又是一本我喜欢的译者的书,怎么说呢,内容凌驾于前面两本,翻译质量也过硬,但是希望至少阅读了前面两本中的一本之后再进行阅读。
来一个所谓的总结(也是对自己这几月的一点总结):
我知道很多人可能开始都有点眼高手低,或者认为既然jQuery能帮我实现,为什么还要去学什么看起来乱糟糟的javascript,但是你现在能做并不代表以后你也能做,或许仅仅是因为你没有碰到jQuery实现不了的功能,沉湎于用jQuery做出来的特效是傻瓜的行为,学好javascript也可以帮你更好的理解其他的库。
有些人可能还会觉得,现在在回头学javascript岂不是倒退了(因为你可能离开jQuery竟然发现自己做不出那些特效了!),其实这并不是倒退而是进步。