学习前端我推荐这5本书

前言

作为一名前端开发人员,如果你告诉我你没有看过任何关于前端的书籍,那么我完全可以认为你不是一名合格的前端开发工程师。为什么我要以“看书”来衡量合格前端的标准?因为前端作为一个特殊的极具变化与开拓性的工种,没有较强的自我学习与思考能力,很难在这激烈又纷杂的环境里存活而不被淘汰,而“看书”则是最基本的自我提升与补充知识的途径。

书中自有黄金屋。不管你是想涉猎前端抑或进行系统性的学习,我都推荐大家阅读前端的相关书籍。那么对于想入门或者扎实前端基础的童鞋来说我们应该挑选哪几本适合我们的书籍呢?下面我就推荐5本带我踏入前端并产生较大帮助的图书供大家参考。

书单

1. Web前端开发最佳实践

封面

这本书是前端开发领域的经典之作,是一本扎实前端基本功,规范我们前端代码的实践性书籍。本书主要讲解了HTML、CSS、Javascript以及移动端开发的最佳实践方案,能够对缺乏良好指导的开发者产生很大的帮助。通过阅读本书我们可以掌握如何编写高可读性、高维护性、高性能的HTML、CSS以及Javascript。比如:

<!-- 如果class名称仅作为Javascript调用的“钩子”,可在名称中添加“js”前缀 -->
<ul id="js_mylist">
    <li class="menu js-active">Web前端开发最佳实践</li>
    <li class="menu">编写可维护的Javascript</li>
    <li class="menu">锋利的jQuery</li>
    <li class="menu">图解HTTP</li>
    <li class="menu">Javascript设计模式与开发实践</li>
</ul>
<!-- 为了做到禁用脚本时页面自动跳转,百度首页中添加了如下代码 -->
<noscript>
    <meta http-equiv=refresh content="0; url=http://www.baidu.com/baidu.html?from=noscript">
</noscript>

2. 编写可维护的Javascript

封面

本书是我极力推荐的一本帮助大家改善Javascript编程风格与编码规范的书籍。那么为什么我们要如此注重JS的编码规范?引用高德纳的一句话就是:程序是写给人读的,只是偶尔让计算机执行一下。在我们的日常开发中,往往维护代码的时间占据着很大比重, 既然这样那么为什么我们不在编写代码的时候就重视它呢?以下是书中的两个例子:

// 二元运算符前后必须使用一个空格来保持表达式的整洁
// 好的写法,使用空格
for (i = 0; i < count; i++) {
    process(i);
}

// 不好的写法,丢失了空格
for (i=0; i<count; i++) {
    process(i);
}
// 函数的第一个单词名称应该是动词(而不是名词),以避免与变量混淆。
// 好的写法,第一个单词是动词
function doSomething() {
    // 代码
}

// 不好的写法,第一个单词是名词
function car() {
    // 代码
}

3. 锋利的jQuery

封面

这本书应该算是学习jQuery必读的一本书,也是讲解jQuery的经典之作。在正式学习这本书之前,你有必要先了解下原生Javascript,才能领悟jQuery其“write less, do more”的理念。本书深入浅出的介绍了jQuery的代码风格、选择器、事件及动画等,结合丰富的实例让读者能够快速理解与应用。比如:

var $ul = $('ul').prev(); // 获取紧邻<ul>元素前的同辈元素
var $p = $('p').siblings(); // 获取<p>元素的同辈元素
$('input').trigger('focus'); // 触发输入框focus事件并获取焦点
$('input').triggerHandler('focus'); // 触发输入框focus事件但不会获取焦点

4. 图解HTTP

封面

作为和浏览器打交道的前端开发者,我们理应学习关于页面从请求开始到呈现的过程和实现方式,而这本书便是快速了解HTTP请求背后原理的不二之选。本书结合漫画图片的形式讲解HTTP协议、工作机制、报文及状态码等,图文并茂,通俗易懂。示例:

// 请求首部字段
Host: www.hackr.jp  // Host会告知服务器,请求资源所处的互联网主机名与端口号
Range: bytes=5001-10000 // 告知服务器资源的指定范围
// 响应首部字段
Age: 600 // 告知客户端,源服务器在多久前创建了响应
Retry-After: 120 // 告知客户端应该在多久之后再次发送请求

5. Javascript设计模式与开发实践

封面

之所以把这本书放在最后是因为阅读这本书需要一定的Javascript基础与功底,当我们掌握了JS的语法与编码规范后再来翻阅此书,你会获得别样的收获。那么为什么我们要研究设计模式?使用设计模式能够给我们解决怎样的问题?

我想答案和小说家为什么很少从开始设计剧情,足球教练为什么也很少从头开始发明战术一样,他们总是沿袭了一些已经存在的模式来解决问题。下面是书中的两种模式:

// 单例模式: 保证一个类仅有一个实例,并提供一个全局的访问点
var getSingle = function(fn) {
    var result;
    return function() {
        return result || (result = fn.apply(this, arguments));
    }
};
// 策略模式:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换
var strategies = {
    "S": function(salary) {
        return salary * 4;
    },
    "A": function(salary) {
        return salary * 3;
    }
};

var calculateBonus = function(level, salary) {
    return strategies[level](salary);
};

结语

为什么那些工作没几年的人很快就遇到了自己的技术瓶颈? 为什么那些工作了5年以上的人还写着一手难以维护的代码?我想在以上5本书中便可找到答案。

正所谓纸上得来终觉浅,绝知此事要躬行。除了从书中汲取我们所需的知识外,我们还需要将理论化为实践,亲自动手敲击键盘,从而加深并巩固书中的知识点,才能羽化而登仙。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 前言 作为一名前端开发人员,如果你告诉我你没有看过任何关于前端的书籍,那么我完全可以认为你不是一名合格的前端开发工...
    haileym阅读 428评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,392评论 25 707
  • 赤壁之战,是中国历史上以少胜多的著名战争之一,也是三国时期“三大战役”中最为著名的一场。那么,大名鼎鼎的“赤壁”到...
    悠悠千古事阅读 4,133评论 0 0
  • 总要有些随风,有些入梦,有些长留在心中。 抱着电脑敲敲码码,不觉间已是凌晨两点。 再想睡,蒙在被窝里闭着眼睛,却愣...
    闻格儿阅读 422评论 0 1
  • 认可 人都渴望认可。别人给你认可,代表你的价值被对方看到并得到承认。这个过程是令人舒心和愉悦的。所以我们都在不断的...
    萤火之灯阅读 174评论 0 0