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

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

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

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

大概两年前,我是一个纯正的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. 解决selenium2在IE11上出错的问题,如Unable to get browser

    官方解决方案: https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration Re ...

  2. Lua 读表代码,自动生成字段名字

    表格格式为 INT STRING INT INT INT INT INT Id Desc Type SceneId OpenId MaxPliesp ClearancePlies 第1关 - 第2关 ...

  3. C#转义字符(Z)

    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...

  4. Java设计模式之行为型模式

    行为型模式共11种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 策略模式:策略模式的决定权在用户,系统本身提供不同 ...

  5. 【学习笔记】ionic 学习之环境搭建

    初学ionic ,后面会把学习的点滴和踩到坑全部记录下来 1.环境 安装node.js 官网地址:https://nodejs.org/en/ 下载安装包安装.自己记住自己的安装路径哦 安装完成后我们 ...

  6. Android 动态生成 EditTest

    这几天,开始一个项目,需要一个小效果,就是一个输入邮箱地址的EditTest 需要动态的添加.默认有两个,然后最多5个,手机的屏幕总是有限的 好的 ,这就上代码了 布局文件 <LinearLay ...

  7. listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案

    Ref:http://www.cnblogs.com/bluestorm/archive/2013/03/24/2979557.html android:descendantFocusability ...

  8. request getParameter getAttribute

    在浏览器地址输入,表示传入一个参数test,值为123 http://localhost:8888/Test/index.jsp?test=123 在index.jsp中尝试使用EL表达式取出,代码如 ...

  9. [BI项目记]-文档版本管理笔记

    代码的版本管理程序员们有专门的工具,那么作为项目管理人员如何进行文档版本的管理呢,此篇介绍如何通过SharePoint进行文档版本管理. 在没有SharePoint的时代我们如何管理版本呢?通常我们会 ...

  10. Win10 UI介绍之Titlebar

    活动状态 非活动状态 var titleBar = ApplicationView.GetForCurrentView().TitleBar; titleBar.BackgroundColor = C ...