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

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

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

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

大概两年前,我是一个纯正的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. php 批量去空格和注释

    原理:php自带函数去注释和空格  => php_strip_whitespace如题,新建文件 re_note.php,将文件放入你要批量去除注释和空格的根目录.然后运行就行了 代码如下: & ...

  2. Linux下hostname与hosts

    参考:http://wp.fungo.me/linux/what-the-hell-is-hostname.html hostname 就是机器名,内核中的一个变量,可临时修改也可以永久修改 /etc ...

  3. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  4. 读书笔记<白帽子讲web安全>

    2016年3月24日 09:34:32 星期四 ddos攻击: 一种: 随机生成ip, 去建立链接, 由于http/tcp握手协议原理, 发送应答报文时因为ip无效会导致等待重发, 这种行为可以通过电 ...

  5. Python之反射,正则

    本节主要内容: 一. 反射: getattr hasattr setattr defattr 二. 补充模块中特殊的变量 三. 正则表达式 re模块 (一)反射: hasattr(object, na ...

  6. 使用 CoordinatorLayout 实现复杂联动效果

    GitHub 地址已更新: unixzii / android-FancyBehaviorDemo CoordinatorLayout 是 Google 在 Design Support 包中提供的一 ...

  7. C#调用webservice简单实例

    如何利用IIS创建webservice不多做阐述,直接讲C#代码中如何调用已创建好的webservice. 首先在VS2010中新建一个工程项目,然后右键点击工程名选择添加服务引用. 在URL一栏中输 ...

  8. 51nod1073(约瑟夫环)

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1073 题意: 中文题诶~ 思路: 直接模拟的话O(n*k)的 ...

  9. PHP实现四种基本排序算法

    前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序. $arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序 思 ...

  10. JDK常用工具集——jps

    该命令的作用是罗列出目标系统(target system)中所有具有访问权限到的Java进程. 一.命令简介:     jps [option] [hostid] 二.参数说明:     option ...