本文转自:http://blog.csdn.net/yangnihaozan/article/details/48294545

在当下,极多的程序员是通过自学来完成入门以及提升的。对于JavaScript的学习来说,同样不例外。许多新手入门javascript选择通过视频教程或者论坛交流的方式进行学习,这种方式固然较为轻松和便捷,但在知识的获取上有些碎片化,对于新手来说不是很好。

在javascript的入门阶段,通过书籍来学习对于新手来说才是最好的手段。书籍的学习固然比较枯燥,但是也是最权威,最系统化的,对于新手来说能够快速的完成基础知识的奠基,而对于之后进一步的提升也是大有裨益。这里笔者就结合自身经验为各位javascript新手推荐几本不容错过的javascript书籍。

入门书籍

看完之后基本就能够完成一个新手到入门的过程了,能够掌握JS基础语法知识和DOM基础知识,读懂接下来笔者推荐的初级书籍。

《JavaScript Dom编程艺术》

此书从JS的历史到JS基础语法知识再到M介绍和简单的使用都比较详尽,内容对于新手来说,简洁、实用、详细、易懂。书不厚,相信很快就能看完。

《JavaScript权威指南》

听名字就知道十分强大。网上关于此书的评价很多,意思大概都是说这书就是一个JS的文档手册。如果学习,记得看最新一版的内容。

js语言有别于传统面向对象语言,所以还是从基础开始看起比较好。以上两本结束之后,就可以来看一些初级的了。这里笔者对初级的定义为“能在中级和高级开发的指导下完成工作。”

初级书籍

笔者对初级的定义为“能在中级和高级开发的指导下完成工作。”相比于入门书籍,在关注基础知识的同时,开始讲述一些较为深入的东西。在这个阶段,合适的书有以下几本。

《JavaScript高级程序设计》

此书的作者是Nicholas C.Zakas,雅虎的前端工程师,YUI的代码贡献者,本书的含金量可想而知,事实上他出的书也确实广受好评,拥簇者众多。

阅读本书只要有JS基础语法知识和DOM基础知识就行,而且本书开始阶段还是介绍JS和DOM的语法知识。笔者这里重点推荐一下第五章(类型),第六章(OOP),第七章(匿名),个人感觉这几章是本书的精华所在,多看几遍,至少要完全看明白,能为以后进阶打好基础。

《高性能JavaScript》

这本书还是Nicholas C.Zakas所著,经典之作,书中大量举例了各种不同写法的JavaScript在浏览器中的性能情况,对规范JavaScript代码和提升性能有很好的帮助,最后提到了很多工具和性能测试的方法,都是非常有实际作用的,尤其对于初学者来说,看完后提升效果明显。

《JavaScript语言精髓与编程实践》

本书与上面的那本在内容上有些重叠,但仍然值得一看。因为本书对JS语言本质的描述非常到位,可以说是介绍JavaScript语言本质的权威书籍,从 “对象”,“函数”,“继承”,“数组”等等多个重要知识着手,多看几遍,每一遍都会有新收获。

中级书籍

笔者对中级的定义为“能独立或在较少的指导下完成工作,并且对产品与项目有自己的看法。”这个阶段的书籍深入且复杂,要耐心的思考才能读懂,当然获得的提升不言而喻。

《JavaScript DOM高级程序设计》

本书的翻译一般,代码也有少许错误,可是这不影响这本书的强大,通过学习本书,可以理解一个JS的库如何产生,自己动手写一个简单的自己的JS库

,如果你打算研究其他的JS库或者正在研究其他的JS库,那么这本书会使你的理解 达到新的高度,进阶高级必读,写库必读。

《JavaScript设计模式》

本书对JS的“模仿接口”,“封装”,“继承”,“链式调用”,“工厂模式”等各种具体的设计模式及其在JavaScript语言中的应用进行了详细的介绍,运用设计模式使代码更模块化、更高效并且更易维护。

以上的书籍是一个从基础到入门,从入门的提升的过程,也是笔者的经验总结。对于新手入门javascript来说,自认为帮助不小,能够少走一些弯路。对于语言掌握其实是一个无止尽的过程,没有终点。即使在你掌握了较为深入的程度后,笔者仍然建议去回过头来重新阅读这些书籍,必然还会有新的收获。

javascript书籍推荐的更多相关文章

  1. Javascript书籍推荐----(步步为赢)

    在此分享一些高清javascript书籍,因为我也没有全部看完,所以在这只是推荐,不同的书适合不同的人,所有的书在网上均有电子书,若找不到,请在博客留言,我有大部分书籍的电子稿.希望有更多的好书分享出 ...

  2. JavaScript 书籍推荐(转)

    作者:宋学彦链接:https://www.zhihu.com/question/19713563/answer/23068003来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  3. JavaScript 学习推荐

    主要是个人的学习网站,书籍推荐,还有个人学习经历,以及一些学习经验或技巧 JavaScript学习网站推荐 如果想快速入门,这些是很推荐的网站      快速入门,很快能让你了解前端,有什么,做什么, ...

  4. java 书籍推荐 JavaEE程序员必读图书大推荐

    java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...

  5. JS书籍推荐

    JS书籍推荐 一.总结 一句话总结: 二.JS进阶书籍 第一阶段:<JavaScript DOM编程艺术> 看这本书之前,请先确认您对Javascript有个基本的了解,应该知道if el ...

  6. 国外优秀JavaScript资源推荐

    JavaScript的优秀资源          原文链接:http://code.tutsplus.com/articles/resources-for-staying-on-top-of-java ...

  7. MAC Objective-C 开发经典书籍推荐

    MAC Objective-C 开发经典书籍推荐 闻道有先后,术业有专攻,这句话放到计算机科学领域的理解可能每个人都会不同. 有些人选择一个操作系统,一个体系的编程语言,作一个领域的开发. 有些人选择 ...

  8. Android开发书籍推荐:从入门到精通系列学习路线书籍介绍

    Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 很多时候我们都会不断收到新手的提问"Android开发的经典入门教材和学习路线?"."Android 开发入 ...

  9. Android学习之路书籍推荐

    Android开发书籍推荐:从入门到精通系列学习路线书籍介绍 JAVA入门书籍: < Introduction to java programming > < Core java & ...

随机推荐

  1. struts2中的namespace意义

    <package name="user" namespace="/user" extends="struts-default"> ...

  2. C++中模板单例的跨SO(DLL)问题:RTTI,typeid,static,单例

    (转载请注明原创于潘多拉盒子) C++的模板可以帮助我们编写适合不同类型的模板类,给代码的复用性提供了极大的方便.近来写了一个涉及单例的C++模板类,简化下来可以归结为以下的代码: template ...

  3. [Android] Anreoid repo 切换分支

    reference : http://blog.csdn.net/lihui130135/article/details/40858885 如果已经有android仓库但是还不是最新的,想切换到And ...

  4. Git教程之工作区和暂存区

    工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:

  5. 系统出现bootmgr is missing解决方式,戴尔dellserver装系统须要特别注意的问题

    系统出现bootmgr is missing解决方式,戴尔dellserver装系统须要特别注意的问题 欢迎关注http://blog.csdn.net/aaa123524457 转载请注明出处: h ...

  6. 2.Dynamic Programming on Stolen Values【dp】

    Problem: There are  n houses built in a line, each of which contains some value in it. A thief is go ...

  7. ajax局部刷新一个div下的jsp

    用AJAX刷新一个DIV中的jsp内容 <script type="text/javascript"> var xmlhttp; function startrefre ...

  8. supervisord不重启更新配置文件

    二.更新新的配置到supervisord supervisorctl update 1 三.重新启动配置中的所有程序 supervisorctl reload

  9. mybatis的mapper返回map结果集(springboot)

    通过MapKey指定map的key值 @MapKey("id") Map<Long, UserInfo> getUserInfoMap(); @MapKey(" ...

  10. C#.NET常见问题(FAQ)-如何输出带选项的MessageBox,YESNO

    DialogResult dr=MessageBox.Show("确认删除吗?", "提示", MessageBoxButtons.OKCancel); if ...