学习JavaScript必读的12本书

FernandoMul 8年前
   <p><img src="https://simg.open-open.com/show/d47fce308fd02752815275cb05c92bdc.jpg"></p>    <p>我巨喜欢读有关JavaScript的书。在学习JS的很长一段时间里,我读了特别多市面上广受欢迎的JavaScript书籍。最近我不再读一些写给菜鸟的书了,但我仍然会翻阅许多写给初阶JS开发者的书。</p>    <p>其实目前是个非常尴尬的时间段,因为ES6的推出,JS在语法上与以往有了很大的改变,而很大一部分书的内容还停留在ES3-ES5的阶段。不过好在ES6仅是ES5的一个超集而已,大多数的经典书目对学习JS还是很有帮助的。</p>    <p>换句话讲,这些经典书目并没有过时,只是附加了一份历史感。对于刚刚接触JS的同学来讲,阅读这些书籍的同时也能领略一番JS的历史。</p>    <p>一些JS社区的作者已经开始撰写教你ES6的书了。不过我还是建议你在阅读这些书籍之前先掌握一些JS的基础。要是你看到这儿还不知道我说的ES6是什么的话,请戳ECMA Script 6 入门 。</p>    <p>下面的推荐列表基本是按照循序渐进的学习顺序排列的:</p>    <p>书目推荐:</p>    <p>1. 趣学JavaScript:教孩子学编程 by Nick Morgan</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/af9ba8cef9d2abafc9ebbd92e88f8693.jpg"></p>    <p>JavaScript是Internet的语言,是创建令人惊讶的Web、你喜欢的站点交互和在线游戏的秘密武器。 《趣学JavaScript 教孩子学编程》用轻松愉快的方式,通过耐心的、按部就班的示例,以及充满乐趣的图示,帮助读者轻松地学习编程基础知识。全书共16章,从基础知识开始,详细介绍了操作字符串、数组以及循环,然后继续学习一些高级话题,如使用jQuery构建交互性,以及使用画布绘图等。本书通过教授编写一些简单有趣的游戏,帮助读者掌握JavaScript编程。每一章都构建于上一章的基础之上,并且每章末尾的编程挑战能够激发读者更多的思考和学习兴趣。 《趣学JavaScript 教孩子学编程》针对任何想要学习JavaScript或初次接触编程的人。本书针对儿童学习JavaScript量身定做,但也适合作为不同年龄的初学者的第1本编程图书。 豆瓣链接</p>    <p>2. JavaScript编程精解 by Marijn Haverbeke</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/dbd4cb51aaf4774ab9cd2e4bec9f8448.jpg"></p>    <p>如果你只想阅读一本关于JavaScript的图书,那么本书应该是你的首选。本书由世界级JavaScript程序员撰写,JavaScript之父和多位JavaScript专家鼎力推荐。本书适合作为系统学习JavaScript的参考书,它在写作思路上几乎与现有的所有同类书都不同,打破常规,将编程原理与运用规则完美地结合在一起,而且将所有知识点与一个又一个经典的编程故事融合在一起,读者可以在轻松的游戏式开发中学会JavaScript程序设计,趣味性十足,可操作性极强。 全书一共12章:第1~3章介绍了JavaScript的基本语法,旨在帮助读者编写出正确的JavaScript程序,包含数字、算术、字符串、变量、程序结构、控制流程、类型、函数、对象和数组等最基础和最核心的内容;第4~7章讲解了JavaScript编程中的高级技术,目的是帮助读者编写更复杂的JavaScript程序,主要涉及错误处理、函数式编程、面向对象编程、模块化等重要内容;第8~12章则将重心转移到JavaScript环境中可用的工具上,分别详细讲解了正则表达式、与Web编程相关的知识、文档对象模型、浏览器事件和HTTP请求等。 豆瓣链接</p>    <p>3. JavaScript语言精粹 by Douglas Crockford</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/c938feb6116963f11ae76bd540d5640f.jpg"></p>    <p>JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax 的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。Douglas Crockford 在本书中剥开了JavaScript 沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript 子集,让你看到一门优雅的、轻量级的和非常富有表现力的语言。作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言真正的精华部分,通过它们完全可以构建出优雅高效的代码。作者还通过附录列出了这门语言的毒瘤和糟粕部分,且告诉你如何避免它们。最后还介绍了JSLint,通过它的检验,能有效地保障我们的代码品质。 这是一本介绍 JavaScript 语言本质的权威书籍,值得任何正在或准备从事JavaScript 开发的人阅读,并且需要反复阅读。学习、理解、实践大师的思想,我们才可能站在巨人的肩上,才有机会超越大师,这本书就是开始。 豆瓣链接</p>    <p>4. Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Moderns JS Libraries by Eric Elliott (原作者本人)</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/6b7e64287c21953999e479862a224235.jpg"></p>    <p>在我刚开始招聘JS开发者开发应用的时候,我发现许多人根本不知道怎么驾驭JS来构建健壮的应用架构。所以我就决定写一本有关JS最佳实践、原型、对象聚合,和一些基本的函数式编程概念(这些知识足够你了解如何开发维护一个典型的JS应用),然后讲解了如何运用上述的知识解决大多数应用中都会出现的一些通共性问题。</p>    <p>很多书都在回答“如何使用JS?”的问题,而我在这本书中要回答的是“如何用JS来开发真正的应用?”</p>    <p>虽然近两年内技术发展迅猛,但客观来讲,这本书依旧能够带给你一个有关JS应用架构的完整而直观的概念。同时也能加深你对JS的理解,学习基础的Node,RESTful API,权限和验证,功能切换系统,日志记录等等…… 豆瓣链接</p>    <p>5. Effective JavaScript : 编写高质量JavaScript代码的68个有效方法 by David Herman</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/b71f4967f8aa968648f0d63615693867.jpg"></p>    <p>《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》内容简介:Effective系列丛书经典著作,亚马逊五星级畅销书,Ecma的JavaScript标准化委员会著名专家撰写,JavaScript语言之父、Mozilla CTO Brendan Eich作序鼎力推荐!作者凭借多年标准化委员会工作和实践经验,深刻辨析JavaScript的内部运作机制、特性、陷阱和编程最佳实践,将它们高度浓缩为极具实践指导意义的68条精华建议。 《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》共分为7章,分别涵盖JavaScript的不同主题。第1章主要讲述最基本的主题,如版本、类型转换要点、运算符注意事项和分号局限等。第2章主要讲解变量作用域,介绍此方面的一些基本概念,以及一些最佳实践经验。第3章主要讲解函数的使用,深刻解析函数、方法和类,并教会读者在不同的环境下高效使用函数。第4章主要讲解原型和对象,分析JavaScript的继承机制以及原型和对象使用的最佳实践和原则。第5章主要介绍数组和字典,阐述将对象作为集合的用法以及使用数组和字典的一些陷阱。第6章介绍库和API,讲解如何设计良好的API的技巧,以清楚、简洁和明确地表达程序,并提高可重用率。第7章讲解并发,在技术上讨论一些“约定成俗”的JavaScript用法。 豆瓣链接</p>    <p>6. JavaScript权威指南 by David Flanagan</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/4b22ff09eb1798e549a0e3b420b6efc2.jpg"></p>    <p>这就是JS程序员的《圣经》。</p>    <p>《JavaScript权威指南(第6版)》讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。本书涵盖了HTML5和ECMAScript5,很多章节完全重写,增加了当今Web开发的实践内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的JavaScript开发者随手翻阅。 豆瓣链接</p>    <p>7. 你不知道的JavaScript by Kyle Simpson</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/05b6e32c4269a6b1bba8e01bbee7c78e.jpg"></p>    <p>很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开发者“不求甚解”的大趋势,深入理解语言内部的机制。 《你不知道的JavaScript(上卷)》既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。</p>    <p>你不知道的JavaScript是一套系列丛书,中文版目前只出版了上卷和中卷,这里给出的链接是上卷,如果你对这套丛书感兴趣,可以在 Github 上找到原版全集。 豆瓣链接</p>    <p>8. JavaScript Allongé: The Six Edition by Reginald Braithwaite</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/7a50fc4ef7470d6d7b9b981be7747bcf.jpg"></p>    <p>JavaScript Allongé 主要讲解了JS的函数,以及如何运用精炼,解耦的单元构建灵活的应用。</p>    <p>本书会尽量不表现出先入为主和自以为是的概念,书中的介绍说:</p>    <p>JavaScript Allongé 并不是一本在软件开发的广义上介绍最佳实践的书,不偏重实践,而是更加偏向于思维方式。</p>    <p>本书当然不是一本入门书籍。Reginald 在书中通过一些简单的例如 const 的概念深入浅出地讲解了诸如IIFE(立即执行函数)和闭包一类进阶的函数作用域,以及函数柯里化等内容。</p>    <p>大多数的入门书籍都会从变量以及如何通过var,let,const定义变量开始。而本书直接跳过了这些,为你让你充分地调动大脑,来重新并深入地理解函数及其作用。</p>    <p>最好在你已经熟悉了JS,并且掌握了面向对象的编程方法之后再来阅读本书。</p>    <p>9. Professor Frisby’s Mostly Adequate Guide to Functional Programming by Brian Lonsdorf</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/569aaa4c98e0fe667355daf73cdb9d17.png"></p>    <p>本书在Github上开源,可以免费下载,还没写完但值得一读。</p>    <p>聪明人都知道,学习函数式编程是很困难的。我自己学了很久也只感觉掌握了皮毛而已(并且这种永远只是略懂的感觉一直挥之不去)。幸运的是,这是一本非常好的教程。</p>    <p>函数式编程的概念里充满着诸如函数演算、代数、范畴论一类的术语。这些装逼的词汇一下就把人给忽悠瘸了。而本书的内容却生动而活泼。</p>    <p>要是所有的编程书都能像这本一样有趣该多好。这是一本会让你手不释卷,乐在其中的计算机科学类书籍。</p>    <p>10. Node.js实战 by by Mike Cantelon, Marc Harter, TJ Holowaychuk, and Nathan Rajlich</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/8bb867e178ae9d066f1614904b3174cb.jpg"></p>    <p>服务器端JavaScript?没错。Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多事情,能满足聊天、游戏和实时统计等应用的需求。并且既然是JavaScript,那你就可以全栈使用一种语言。 本书向读者展示了如何构建产品级应用,对关键概念的介绍清晰明了,贴近实际的例子,涵盖从安装到部署的各个环节,是一部讲解与实践并重的优秀著作。通过学习本书,读者将深入异步编程、数据存储、输出模板、读写文件系统,掌握创建TCP/IP服务器和命令行工具等非HTTP程序的技术。本书同样非常适合熟悉Rails、Django或PHP开发的读者阅读学习。 本书主要内容: Node.js及其扩展的安装配置; 全面理解异步编程和事件循环; 学会开发微博、聊天和游戏等热门应用。 豆瓣链接</p>    <p>11. Web性能权威指南 by Ilya Grigorik</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/10823997ed011749cab2655173c68eaa.jpg"></p>    <p>本书是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。本书目标是涵盖Web 开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP 和TLS 协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP 协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC 和DataChannel 等现代浏览器新增的具有革命性的新能力。 本书适合所有Web 应用及站点开发人员阅读,包括但不限于前端、后端、运维、大数据分析、 UI/UX、存储、视频、实时消息,以及性能工程师。 Ilya Grigorik 是谷歌“Web加速”(Make The Web Fast)团队的性能工程师、开发大使。他每天的主要工作就是琢磨怎么让Web应用速度更快,总结并推广能够提升应用性能的最佳实践。 豆瓣链接</p>    <p>12. Web Audio API by Boris Smus</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/cf7d788a363eaa55f8f7a18f249005cf.jpg"></p>    <p>本书不在必读书目内,完全是原作者的个人癖好</p>    <p>每一个真正的JS摇滚之星都需要这本书。虽然你需要其实是一把吉他。我知道我又不小心标题党了,不过你要是喜欢玩弄音频和音乐的话,这本书会对你很有帮助。要是你不感兴趣请直接无视。</p>    <p>介绍这本书完全出于我个人对音乐和音频开发的癖好。Web 音频API是一套通过Web平台标准来操作和生成音频的系统。在浏览器和Node上都可以使用。</p>    <p>本书介绍的主要内容包括如何通过JS操作音频、添加音频特效以及音频视觉化等。</p>    <p> </p>    <p> </p>    <p> </p>    <p>来自:http://www.smartcitychina.cn/QianYanJiShu/2016-10/7861.html</p>    <p> </p>