《JavaScript推荐书籍pdf电子版附下载链接》从入门到中级看完去BAT基本无问题

      前言:其实我觉得JavaScript是比较难学的了,你知道基本的语法,但是当你自己去写的时候,写不出什么了,所以我今天在这推荐几本书给大家。 只要大家有耐心去照书上的例子去做,去改,我相信会有较大进步的。

     透露一下,刚刚收到了AT和美团的前端Offer~~

       WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没有学校的正规教育,大多数人都是靠自己自学成才。本文主要介绍自己从事web开发以来(从大二至今)看过的书籍和自己的成长过程,目的是给想了解 JavaScript或者是刚接触JavaScript的朋友,介绍如何通过循序渐进的看书来学习javascript。

     话不多说,先放资源图:

链接:https://pan.baidu.com/s/1PX2v7v_AXaVGjDA7T4W_Cg 密码:rfzy

一. 入门级 :

就是有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的WEB前端需求。

1.推荐:《JavaScript Dom编程艺术》

理由:此书绝对是入门的好书,本人也是在接触JS一段时间后才看的这本书。此书从JS的历史 – JS基础语法知识 – DOM介绍和简单的使用。现在这本书已经出了第二版,需要的朋友直接第二版就行。 评价:简洁,实用,详细,易懂,书不厚,相信很快就能看完。 算是很好的经典入门书了,贯穿一个实例,把JavaScript的优点表现的淋漓尽致,非常强大。

2.推荐:《JavaScript权威指南(第5版)》

理由:非常强大(这名字可不是白起),其实说起来也惭愧,本人至今都没有买过这本书,最开始是因为 这个书实在是小贵,只好借朋友的看,不过也就看了个周末。网上关于此书的评价很多,意思大概都是说这书就是一个JS的文档手册,如果你有闲钱,并且习惯翻 书查询,那么就来一本吧。顺便提醒一句,这本书的第六版英文版已经出来了。

二.初级开发:

本人以前的DEV leader兼恩师这么说过:“初级开发人员的标志就是需要在中级和高级开发的指导下完成工作”。首先不要苛责代码的对错严谨,毕竟每个程序员都有这样的一个过程,就是这个级别的特征。

1.推荐:《JavaScript高级程序设计》(第三版)

理由:这本书的作者是 Nicholas C.Zakas ,博客地址是 http://www.nczonline.net/ ,大家可以去多关注,雅虎的前端工程师,是YUI的代码贡献者,可想而知这本书得含金量,他出的书都广受好评。这本书已经出了第二版,而且与第一版相比内 容更新很大,直接第二版就行。不要被书名的“高级”唬住,只要有JS基础语法知识和DOM基础知识就行,而且本书开始阶段还是介绍JS和DOM的语法知 识。有一定JavaScript的基础可以看看,不过没基础也可以看看,wrox经典书籍。

评论:重点推荐一下第五章(类型),第六章(OOP),第七章(匿名),多看几遍,至少要完全看明白,能为以后进阶打好基础,个人感觉这几章是本书的 精华所在。这本书在入门的时候看节奏会快了一些,所以不建议初学者看,可是相对于我一会要介绍的书又算基础一点,所以建议先阅读完这本书,对浏览器兼容和 语法知识有一定了解之后再往下阅读。

2.推荐:《高性能JavaScript》《JavaScript语言精髓与编程实践》

理由:本人先看的是《高性能JS》,这本书还是 Nicholas C.Zakas 所著,经典之作,书中大量举例了各种不同写法的JavaScript在浏览器中的性能情况,对规范JavaScript代码和提升性能有很好的帮助,最后 提到了很多工具和性能测试的方法,都是灰常灰常有实际作用的,看得出作者很厚道(好吧,偶承认了,偶是他的粉丝)^_^,记忆最深的一句话:”如果 JavaScript 执行了几秒钟,那么很可能是你做错了什么”;《语言精髓》和《高性能》有少部分关键知识都重复提到了,可是为什么要推荐这本书,因为本书对JS语言本质的描述太棒了,这是一本介绍 JavaScript语言本质的权威书籍,从 “对象”,“函数”,“继承”,“数组”等等多个重要知识着手。我补一句话 – 本书需要反复阅读。 评论:都是好书,都很薄,而且所说的内容只要有基础都不难。相信读完之后会对JS又有新的认识,且对以后的代码规范和浏览器差异性等高级问题有了新的认识,如果读完之后会有种被灌顶的感觉,那么恭喜你,你离中级不远了。作为Orelly唯一一本我确实认可的javascript相关的书。

他摒弃了Orelly系列所有我不喜欢的特点:

老外的聊天说教式阅读体验,样例不够丰富,排版单一,破事水等。

他的优点如下:

1. 情景丰富,基本涉及所有js性能优化的场景。还会给出不同场景的实际测试数据,真实可信。我们在阅读这些场景实例的同时也丰富了自己js的使用经验。

2. 给出了很多看似"旁门左道"的解决方案,而这些冷门的解决方案恰恰是有些人死活百度不到的真正能解决问题的最优解。

3. 在说问题的同时说原理,深入浅出,游刃有余。所以这本书不仅仅是一本介绍js性能相关的书,而是一本涉及浏览器原理,js解析原理,用户体验等知识的javascript最佳注解。

阅读建议:

建议和高程三一起看,可以算是高程三阅读的最佳伴侣。

高程三告诉你“他叫什么,他什么样”,

这本书就告诉你“他为什么”,“他该怎样”。

所以,当别人还在为某些问题绞尽脑汁的时候,你已经从起点上干翻他们了。

3.推荐:《深入浅出JavaScript》

理由:Ajax程序员必备 里面讲自己开发的一个JavaScript框架。

4. 推荐《学习Javascript数据结构与算法》

理由:这本书相对是一本冷门书。

为什么我会推荐他,是因为他能解决每个半路出家的js程序员都曾思考过的一些问题:

1. 我们的数组Array这么强大,要栈Stack,队列Queue这些功能少,半半拉拉的东西干什么呢?

2. 我们学的数据结构搞来搞去好像也就那些玩意,为什么被大家这么推崇,还要分门别类讨论呢?

所以这本书只是为何告诉你上面这些问题的答案:

1. 栈和队列本来就没有Array功能强。没有Stack和Queue类只是因为ES5不去实现它而已。作为一种相互之间存在一种或多种特定关系的数据集合,其存在意义是不应该被其功能强大与否来决定的。

2. 数据结构和编程语言无关。语言死了,他们会在下一门语言里重生。哪怕计算机死了,他们都会在下一个概念体里重生。

阅读建议:

跟着书本把这里面的结构全部敲一遍,快的话一天就能搞定。

从此你便再不怕惧怕js相关的简单数据结构问题。

但是,遇上高级的树,图等问题该跪还是要跪。因为这本书虎头蛇尾,后面的高级点的数据结构介绍的不够深。

适合经常反思“它从哪里来,要到哪里去?”的js程序员,或后悔以前数据结构没好好学的前端同学。

三.中级开发:

还是本人以前的DEV leader兼恩师这么说过:“中级开发人员的标志就是在高级开发或架构师较少的指导下高质量的完成工作,并对产品或项目有自己的想法与理解”。

1.强烈推荐:《JavaScript DOM高级程序设计》

理由:此书灰常犀利,本人一共看了近半年的时间,已反复阅读多次。说实话,这本书的翻译一般,代码也有少许错误,可是这不影响这本书的强大,通过学习 本书,可以理解一个JS的库如何产生,自己动手写一个简单的自己的JS库,如果你打算研究其他的JS库或者正在研究其他的JS库,那么这本书会使你的理解 达到新的高度,进阶高级必读,写库必读。 评论:异常强大的一本JS巨作,此书不薄,强烈推荐。现在已经买不到正版了,我这里有电子版,有需要的朋友留下邮箱,晚上发给你们。

2.强烈推荐:《JavaScript设计模式与开发实践》

理由:

我认为腾讯AlloyTeam的这本书对我帮助媲美高程三。

那时候我恰好换公司,从原来的开发方式切换成另一种完全不同的开发方式,让我很不适应。

这本书及时的蹦出来,他拿实际的应用场景举例,告诉你不同js项目里如何共通设计模式,还极其详细的介绍了函数的高级用法,能让你对js高阶函数的认知上升一个台阶。

难能可贵的是他还拿java作为静态语言的类比。从语言统一高度来给你分析这些问题。

和上本介绍数据结构的书一样,这本书有的放矢,能完美的解决对js设计模式有疑问的同学的实际问题。

他比上本书更深刻,更易读,也更贴近实践。

评论:书不厚,可真的是内容丰富且高深,强烈建议购买。

阅读建议:

这是本适合反复阅读的书籍。

如果你的思路能根据应用场景自动切换到最适合的设计模式,说明你已吃透这本书了。

3.推荐:《高性能网站建设指南》《高性能网站建设进阶指南》

理由:在读完前几本书之后我们对前端的性能和自己的代码的效率已经达到相当的高度了,然后我们在接触一些前端工程师的一些精髓。本书对HTTP请求,CDN,内容缓存和一些web开发中常见问题进行讲解。 评论:书都不厚,可是说的都是比较实用的东西,可是用不用的上还得看个人和项目需要了。

4.推荐:《精通JavaScript》

理由:把JavaScript讲得很面向对象。很现代! 图灵教育的出版引进书籍有很多都是经典书籍,非常好,建议大家有时间就去www.turingbook.com看看。 

5. 推荐:《你不知道的JavaScript》

大名鼎鼎的Github开源的书籍。

为了他的名气我也得买一本实体书来拜读下。

这本是上卷,只涉及作用域和闭包,this和对象原型两部分。

不过其深入程度是其他js书籍难以企及的。

可以说,这已经是大部分前端程序员对js语法可以深入了解的最底层了,再往下就直面编译原理了。

阅读建议:

用于提升自己的js语法的理解等级。

对于进入工作第二年的想深入理解js语法的同学来说特别有效。

书单汇总:

入门:

1.《JavaScript Dom编程艺术》

2.《JavaScript权威指南(第5版)》

初级:

1.《JavaScript高级程序设计》(第三版)

2.《高性能JavaScript》《JavaScript语言精髓与编程实践》

3.《深入浅出JavaScript》

4. 《学习Javascript数据结构与算法》

中级:

1.《JavaScript DOM高级程序设计》

2.《JavaScript设计模式与开发实践》

3.《高性能网站建设指南》《高性能网站建设进阶指南》

4.《精通JavaScript》

5. 《你不知道的JavaScript》(偏高级)(上中下完整版)

总结一下:

以上就是本人一路走来看的JS相关书籍,朋友会问,为什么就只介绍的中级的,那么高级看的书在哪?有木有高级的书?进阶高级程序员之路又在哪?说下我自己的看法和对年轻朋友的建议吧,说的不好或不对请原谅。

其实我也才真正工作两年多:

1. 主要是工作经验问题。达到一定程度以后真的合适的书很难找了,更多只有在工作中总结和积累。工作的越久碰到过的问题也就越多,^_^。所以一般说高级程序员一般都是至少都3年以上的工作经验,没办法,实践才出真理。

2. 我觉得高级web前端灰常有必要总结一个自己的JS库,不管大小,总归有一套自己的东西(嘿嘿,如果认真的实践过《JS DOM高级》的内容,估计有一套JS库的原型了)。

3. 前端有必要懂得和熟悉一本服务端语言,其实计算机语言很多语法大致都差不多,不同的就是内置的方法和属性,所以去熟悉一门语言并不难。为什么 有必要,因为精通一门语言还是不够的,多学一门语言的好处我就不啰嗦了,大家可以看看这篇文章 – 《门门通还是精一门》

4. 许多年轻人都有眼高手低的毛病,我也一样,例如,有的人认为自己编起程序来很顺手,不用查手册,说写就写,很熟练,几乎什么程序都能编出来, 就认为自己对这种语言很精通了。其实对于一门语言的掌握程度是不可深测的,对于语言掌握其实是一个无止尽的过程,没有终点。编写时间的长短和编写熟练程 度,仅仅是精通语言表现的一个方面。更重要的是程序员要掌握这个语言的适用范围,整体构架,语法规则、功能分类等基础理论方面的知识,并能利用这方面的知 识,用最科学的方法去解决现实中各种项目的各个问题。 

 

猜你喜欢

转载自blog.csdn.net/Isaac8/article/details/82826455