早前在公司曾做过一些关于前端的技术分享,而每每跟大家谈到深处时,大家会疑惑这些知识点从何而来。

我会经常在内部去推荐自己读过的好书,希望大家在技术层面上都能更上一个台阶。

今天写下这个帖子一方面是记录自己在一年多时间里快速转变为前端人所度过的好书,另一方面也希望将这些好书分享给大家,

不希望前端人只是为了完成业务而学习,需要有求索的心态和积极性。

大概两年前,我是一个纯正的Javaer,不过在面临公司产品转型的路上,我开始接触基于Web的产品开发以达到跨平台的效果。

于是,慢慢走上了前端道路,带着学习Java的习惯开始逐步探索Javascript。

这一路,从接触语法到理解动态语言特性,从不了解javascript的this到理解执行作用域,从模拟Java继承到理解原型继承,

从一大堆全局变量到模块化,从过程式编程到面向对象编程,从强耦合到组件化,从一大堆事件绑定到数据驱动,从手工压缩到

借助工具构建工程,经历了很多前端人经历的东西。因为前端太多东西并未标准化,致使入门虽低,但想比肩高手,还是需要学习太多太多。

在分享书籍之前,我分享这些一路走过来的经历,是希望可以为大家强化学习之路,不要一直游离于表面。

在前端界,我知道虽然Javascript并不能像Java那样强大的去完成各种线程、IO、网络等功能,但那不是因为Javascript语言本身的局限,

而是不能像Java那样强大的背景和社区为Java提供各种标准化的东西。如今,Node来临,如果前端同学们想在Javascript上有一番作为,

Node可提供你们无限的想象,可以完成你们曾经觉得只有Java这类语言能完成的事情。

我本出身后端,对UI上的东西不敏感,因此我对CSS了解颇少,只能给大家提供一些Javascript方面的书籍,以打好Javascript能做一些的基础。

另外,我不想推荐一些完全对编程无概念的入门书籍,所以只推给一些有基础且愿意深入研究的同学。

接好,一大票书籍来了,先列上书目,关于为何推荐此书将在之后详细补充。

第一波:适合有基础,想系统学习Javascript语言特性及原理的同学

1.JavaScript高级程序设计(第3版)

2.JavaScript权威指南(第6版)

第二波:适合对Javascript有一定理解,想深入学习语言特性和设计的同学

3.JavaScript语言精粹(Javascript Good Parts)

4.Javascript设计模式(Javascript Design Pattern)

5.Javascript 模式(Javascript Patterns)

6.ECMAScript5.1(Javascript规范)

特别推荐:

汤姆大叔的博客 这几乎是我走向深入Javascript的启蒙教程

The Surprisingly Elegant Javascript Type Model详细描述了Javascript中的类型继承关系,Object、Function、Array之间的相互关系

End of the Chain详细描述了Javascript中prototype/__proto__的含义,Function、Object之间的相互关系

第三波:适合在前端单页应用项目构建上深入和优化的同学

7.MVC的JavaScript Web富应用开发

8.单页Web应用  JavaScript从前端到后端

第四波:适合对前端项目进行优化和改进的同学,此波颇具实际意义

9.高性能网站建设指南

10.高性能网站建设进阶指南

第五波:适合开始考虑在Node上有所施展的同学

10.深入浅出Node.js

11.Node.js权威指南

最后一波来个大集合,此类不为书籍,而是各类基础框架源码,适合有意愿创造自己前端类库或框架的朋友。

1.Underscore:基础类库,封装了对对象、数组、集合、函数的操作和一些实用函数;

2.jQuery:大名鼎鼎,基础类库,封装了各类选择器、DOM操作、事件、回调、延时执行、队列操作、数据绑定、AJAX等;

特别感谢:Araon的源码分析

3.Backbone:轻量型前端MVC框架,封装了事件、模型、集合、视图、控制器和路由管理等功能;

4.RequireJS:前端模块化功臣,解决了模块依赖,异步加载等;

当然,有各种关于Javascript的书籍是不足于写出优秀的代码和类库的,在这里推一些关于代码编写和设计模式的好书:

1.重构-改善既有代码的设计

2.设计模式-可复用面向对象软件的基础

以上这些书籍都是我已读或还在读的书籍,推荐给大家,希望大家前端之路一路光明,逃离混沌的前端世界。

还有一点需要说明,如果深入理解这些知识点,去面试一些所谓的前端开发岗位可能被拒,因为大量前端开发岗位仍是传统的业务型岗位,

需要运用CSS/HTML/Javascript去真正做一些项目,所以如果有空,可以去翻翻关于CSS/HTML方面的书籍。

我将在前端之路毫不停歇的一路向前,也希望有更多的更好的前端工程师加入这个队伍。

前端Javascript书籍分享的更多相关文章

  1. web前端开发教程系列-2 - 前端开发书籍分享(转)

    目录: 前言 一. CSS 二. JavaScript 三. jQuery 四. 后记   前言 前端书籍在每个商城或书架上面都是琳琅满目,很多初学者又不能很好的判断书的质量或层次.因为今天给同学们分 ...

  2. web前端开发教程系列-2 - 前端开发书籍分享

    目录: 前言 一. CSS 二. JavaScript 三. jQuery 四. 后记   前言 前端书籍在每个商城或书架上面都是琳琅满目,很多初学者又不能很好的判断书的质量或层次.因为今天给同学们分 ...

  3. 12个实用的 JavaScript 框架分享给前端开发者

    JavaScript库是预先编写的 JavaScript 工具代码,让开发者可以更容易开发 JavaScript 应用.这个列表我们列出了2017年1月份功能丰富的 JavaScript 库,可以帮助 ...

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

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

  5. JavaScript资源分享

    一. 资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 En类资源汇总 免费的编程中文书籍索引 ...

  6. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  7. javascript书籍推荐

    本文转自:http://blog.csdn.net/yangnihaozan/article/details/48294545 在当下,极多的程序员是通过自学来完成入门以及提升的.对于JavaScri ...

  8. web前端技术社区分享

    web前端技术社区分享 一.国外的前端技术网站:    1. 名称:W3C: 网址:http://www.w3.org/ 理由:前端技术的规范标准几乎都是W3C制定的  2.名称:ECMA 网址:ht ...

  9. Web前端-JavaScript基础教程下

    Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...

随机推荐

  1. python运算符

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAHCCAIAAADzel4SAAAgAElEQVR4Aey9+bMcSXLnV1dmna/ejR

  2. HDU 4113 Construct the Great Wall(插头dp)

    好久没做插头dp的样子,一开始以为这题是插头,状压,插头,状压,插头,状压,插头,状压,无限对又错. 昨天看到的这题. 百度之后发现没有人发题解,hust也没,hdu也没discuss...在acm- ...

  3. linux编程问题记录

    1.程序中需要用到字符串的时候,尽可能选择string类型,这种类型的字符串有很多比较容易的功能,如字符串之间可以直接拷贝赋值 string a; string b="123"; ...

  4. (2016弱校联盟十一专场10.3) B.Help the Princess!

    题目链接 宽搜一下就行. #include <iostream> #include<cstdio> #include<cstring> #include<qu ...

  5. 解决xampp端口冲突

    今天电脑按了一下xampp,结果运行wamp的时候,出现了下面的情况: 在网上查了一下,结果是端口被占用,然后我就手动修改了一下. 1.修改xampp的端口号 依次找到:XAMPP的安装目录(比如D: ...

  6. 如何使用Android JetPlayer类

    在Android中,还提供了对Jet播放的支持,Jet是由OHA联盟成员SONiVOX开发的一个交互音乐引擎.其包括两部分:JET播放器和JET引擎.JET常用于控制游戏的声音特效,采用MIDI(Mu ...

  7. 1.GoldenGate 简单的一对一配置

    一,软件安装   源端和目标端均执行(只要修改相应的目录)   1.上传软件,放到ogg的安装目录,并解压   mkdir /home/oracle/ogg unzip ogg112101_fbo_g ...

  8. tomcat组成以及工作原理

    1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet Containe ...

  9. android tab选项卡的使用

    项目做完了,写写博客,在项目中遇到的一些问题,或者是自己觉得很不错的东西.这一篇主要是想和大家分享一下我在项目中封装的一个东西,就是tab选项卡.先看看效果图: 我在网上看了很多有关选项卡的demo, ...

  10. HTML5中的对象的拖拽

    拖拽: draggable="true"页面上就能实现拖拽事件: ondragstart 拖拽开始事件 ondrag 拖拽中 ondragend 拖拽结束事件 投放区事件: ond ...