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

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

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

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

大概两年前,我是一个纯正的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. SQL优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  2. Redis学习笔记8--Redis发布/订阅

    发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似.pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者 ...

  3. 曲线救国:IIS7集成模式下如何获取网站的URL

    如果我们在Global中的Application_Start事件中访问HttpContext.Current.Request对象,如: protected void Application_Start ...

  4. Gym - 100917H

    题目链接 #include<cstdio> #include<cstring> #include<algorithm> #include<vector> ...

  5. October 20th Week 43rd Thursday, 2016

    Now, it's clear. OPPO R9s 这一刻 更清晰. I want a new mobile phone, because the one I am using is broken. ...

  6. weiphp布署在sina sae图片显示不了问题

    sae 上傳因為新浪云是有權限的限制的,所以要有權限才能上傳,以圖片為例首先在入口文件目錄(applicaiton)里的common的conf 里的config配置把上传驱动设为sea 代码 如下:' ...

  7. mysql远程连接问题

    问题:在服务器里面新安装一个MYSQL数据库,结果在远程电脑连接不上,并提示“服务器连接错误Host 'XXX' is not allowed to connect to this MySQL ser ...

  8. Word2vec 模型载入(tensorflow)

    opts = Options() with tf.Graph().as_default(), tf.Session() as session: model = Word2Vec(opts, sessi ...

  9. MVC自动绑定整数数组

    昨天恰好遇到这个问题,stackoverflow上已经有人回答过了,拿过来在这里做个笔记.当然下面的例子可以修改,我比较喜欢使用ImodelBinder. 自定义模型绑定器 public class ...

  10. 【Mybatis框架】查询缓存(二级缓存)

    继上一篇博客,我们讲述了mybatis的一级缓存,接下来,我们来学习一下mybatis的二级缓存 博客链接地址: http://blog.csdn.NET/liweizhong193516/artic ...