本文转自: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. git 经常使用操作集锦

    创建仓库 新建普通仓库: jxdong@ubuntu-server:~/workspace/git$ git init Reinitialized existing Git repository in ...

  2. C#常使用的正则表达式

    /// <summary> /// 是否为手机号码 /// </summary> /// <param name="value"></pa ...

  3. Matlab制作个人主页

     Matlab代码编辑器具有代码发布功能,如下图,当编辑好代码后,点击Publish按钮可以发布html网页格式的代码使用说明.       从上面的图中可以看到,发布功能可以控制字体(黑体.斜体.等 ...

  4. google protocol buffer的原理和使用(二)

    本文主要会介绍怎么使用Google Protocol的Lib来序列化我们的数据,方法非常多种,本文仅仅介绍当中的三种.其它的方法读者能够通过自行研究摸索.但总的来说,序列化数据总的来说分为下面俩步: ...

  5. 【Nodejs】nimble或async并不能保证程序串行执行,回调是回避不了的坑

    先看一段例程: //------------------------------- // 用于创建目录 //------------------------------- function creat ...

  6. (链表)反转链表Reverse List

    逆转链表是简单而又简单的链表问题,其问题的方法之一可以设置三个指针,一个指向当前结点,一个指向前驱结点,一个指向后继指针 代码如下: class Solution { public: ListNode ...

  7. C#.NET常见问题(FAQ)-interface接口如何理解

    个人把interface理解为一种比较特殊的判断技巧,不是常规的变量类型比如判断字符串,判断数组,而是判断类的实例是否拥有某些属性或者方法(比如有十个女的穿一样的衣服,头上盖住,让新郎去猜哪一个是他的 ...

  8. Office EXCEL VBA如何取得EXCEL中的行数和列数

    VBA取得EXCEL表格中的行数和列数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count&quo ...

  9. Appium Python 三:Desired capabilities

    简介 Desired capabilities 是一些键值对的集合.python里面就采用字典的方式. 客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试.比如,我们可以把 platformNa ...

  10. C++生成十字绣图案(二) 面向对象

    基本的十字绣线性生成中提供了判断下一步可以画的位置并且逐步生成的函数.以这些基本函数为基础,可以进行更多变化的图案设计. 为了方便的扩展,可以把线性生成写成一个类,以后的修改继承这个类. 头文件Bas ...