原始地址:https://dev.to/daolf/the-25-most-recommended-javascript-books-of-all-time-1ec9
‘’'本文是我之前发表的一篇文章的续集,该文章是有关史上最推荐的编程书籍的。如果你最近阅读了这本书的话,我猜你可以直接跳到结果。互联网上有无数的列表声称是“最佳JavaScript书籍”的列表,而且似乎所有这些列表总是推荐那些减去两三个奇怪选项之外的相同书籍。寻找学习编程的好资源始终很棘手。每个人对什么书最适合学习都有自己的看法,就像我们法国人说的,“对于颜色和味道,不应有争议”一样。然而,我认为相信大众的智慧并找到在这些“最佳JavaScript书籍”列表中最多次出现的书籍是有趣的。如果你想直接看结果,请看下面的完整结果。如果你想了解方法论,请继续读下去。 免责声明:我在这篇文章上花费了很多时间,所以我决定加入亚马逊的合作伙伴链接,以查看这些详细文章是否可以成为一种可行的收入来源,…或者不是🤷♂️。
方法论
方法论:
我只是简单地向Google提出了一些查询,比如“最佳JS书籍”及其变体。然后我使用一个我正在开发的网络爬虫API ScrapingBee来抓取所有这些页面。
我对链接进行了去重,并最终获得了近105个链接。使用页面的标题,我还能快速丢弃:
- 专注于特定技术或平台的列表
- 专注于特定年份的列表
- 专注于免费书籍的列表
- Quora和Reddit的帖子
我最后得到了大约75个HTML文件。我打开了所有文件,打开了我的Chrome检查器,找到并编写了与文章中书名相匹配的CSS选择器。这花了我大约1小时的时间,每页几乎30秒。
这也使我能够丢弃更多不相关的页面,我丢弃了很多。最后,我将大约70个列表编译成一个列表。
然后,使用手动提取和一些网络爬虫技术提取了书名。
我最后得到了一个庞大的书籍列表,但如果没有后续处理,这些书籍是无法使用的。
为了找到最多引用的JS书籍,我需要对结果进行规范化处理。
我不得不处理所有不同的变体,如“{title} by {author}”或“{title} - {author}”。
或者“{title}:{subtitle}”和“{title}”,甚至包含版本号的所有书籍。
最终,我使用了这个简单的自定义Python函数来进行处理:
def clean_link(link):
link = link.encode().decode(‘ascii’, errors=‘ignore’)
link = link.replace(“'”, ‘’)
link = link.lower()
link = ’ ‘.join([w for w in link.split(’ ‘) if w not in [‘the’, ‘a’]])
link = link.split(‘by’)[0]
link = link.split(’:‘)[0]
link = link.split(’(‘)[0]
link = ’ ‘.join(link.split())
link = link.replace(’-’, ‘')
link = ‘’.join([c for c in link if c.isalpha() or c == '’ or c == ’ ‘])
link = link.strip()
link = link.replace(’ ', ‘')
link = ‘’.join([c for c in link if c.isalpha() or c == '’])
return link
以及一些手动清理工作。
我的列表现在看起来是这样的:
从这里开始计算最推荐的书籍就变得很容易。你可以在这里找到用于处理此列表的所有数据的存储库。现在让我们来看一下这份列表:
25. 《JavaScript和jQuery:缺失的手册》 by David Sawyer McFarland (推荐度9.4%)
“JavaScript可以通过动画、互动和视觉效果来增强您的HTML,但许多网页设计师发现这门语言难学。这本易读的指南不仅涵盖了JavaScript的基础知识,还向您展示了如何通过预先编写的jQuery和jQuery UI库中的JavaScript代码节省时间和精力。您将构建感觉和行为像桌面程序的网页,几乎不需要或根本不需要编程。”
Amazon.com
24. 《学习JavaScript可视化》 by Ivelin Demirov (推荐度9.4%)
“这是一本精美插图的全彩色JavaScript书,通过隐喻、比喻和简单的交互式练习(适用于PC、Mac、iPad和其他平板电脑)来教授基础知识。”
Amazon.com
23. 《学习JavaScript设计模式》 by Addy Osmani (推荐度11.3%)
“通过将经典和现代设计模式应用于JavaScript,您将学习如何编写美观、结构良好且易于维护的JavaScript。如果您想保持代码高效、易于管理并与最新的最佳实践保持一致,这本书适合您。探索许多流行的设计模式,包括模块、观察者、外观和中介者。从现代Web应用程序开发人员的角度来看,该书还介绍了现代架构模式,例如MVC、MVP和MVVM。本书还向经验丰富的JavaScript开发人员介绍了现代模块格式、如何有效地给代码命名空间和其他重要主题。”
Amazon.com
22. 《用jQuery开始JavaScript和CSS开发》 by Richard York (推荐度11.3%)
“本书涵盖了jQuery JavaScript框架和jQuery UI JavaScript框架,以便更快、更高效地完成JavaScript编程。我介绍了jQuery API中提供的每个方法,这些方法可以以更少的代码更快地完成常见、冗长的任务。我还介绍了jQuery是如何消除某些跨浏览器、跨平台的开发问题的,它不仅消除了这些问题,而且还通过减少编写附加事件所需的代码来更容易地处理事件。它甚至还提供了模拟事件的功能。”
Amazon.com
21. 《学习JavaScript》 by Ethan Brown (推荐度11.3%)
“现在是学习JavaScript的激动人心时刻。现在,最新的JavaScript规范——ECMAScript 6.0(ES6)已经完成,使用这门语言开发高质量应用程序比以往更容易和令人满意。这本实用书将带领程序员(无论是业余还是专业)全面了解ES6以及相关工具和技术。作者Ethan Brown(Node和Express Web开发)不仅通过简单明了的主题(变量、控制流、数组等)指导您,还详细介绍了函数式和异步编程等复杂概念。您将学习如何在客户端或使用Node.js在服务器上创建功能强大且响应快速的Web应用程序。”
Amazon.com
20. 《人性化JavaScript》 by Henrik Joreteg (推荐度11.3%)
"简洁但强大的JavaScript应用程序的实用模式。没有任何神奇的框架。没有庞大的工具包。您将以您可以理解的方式使用恰当的真实现场JavaScript,并通过帮助您学习如何在构建应用程序时做出明智选择的解释来进行学习。本书包括以下内容:
清晰而简单的解释
代码示例
适用于JavaScript应用程序的项目框架
一本书的终身订阅"
Amazon.com JavaScript程序员参考by Alexei White (推荐度11.3%)
“通过JavaScript程序员参考中的易于理解的信息来了解如何利用JavaScript语言与下一代Rich Internet应用程序,如Microsoft的Silverlight,Ajax,Flex,Flash和AIR一起使用。通过使用可用的有可操作性的代码进行实践,掌握使用Java的方法,并诸如Ajax之类的应用程序,对于如JavaScript数据类型、变量、运算符、表达式和语句的工作,使用JavaScript框架和数据,以及通过Ajax提高性能。”
Amazon.com
18. 《学习JavaScript的更聪明方法》 by Mark Myers (推荐度11.3%)
“学习JavaScript很痛苦,这是因为有两个问题。我去除了这两个问题,然后你就开始享受乐趣了。第一个问题是记忆。你只记得你阅读的内容的10%到20%。这就是失败的原因。要成为流利的计算机语言使用者,你必须记住几乎每一样东西。你应该如何记住一切?只能通过不断地被要求回忆一切。这就是为什么人们使用闪存卡的原因。但是我的系统比闪存卡更好。阅读完一个简短的章节后,你可以访问我的网站并完成20个互动练习。算法将检查你的工作,确保你确实知道你自以为自己知道的东西。当你犯错时,你可以再做一遍练习。你必须一直尝试,直到你熟记该章节。这些练习是免费的。
第二个问题是理解。许多学习者在试图理解变量作用域和原型等高级概念时遇到了问题。不幸的是,他们责备自己。这就是为什么《笨蛋》系列图书销售得很好的原因。但问题在于这些作者是编码的高手,缺乏教学才能。而我与典型的软件图书作者相反。我永远无法以足够快的速度编码,以至于能在Google找到一份工作。但是我可以教书。
无论如何,大多数理解问题实际上都是保留问题的化身。如果在理解变量作用域时迷失了方向,那是因为你不记得函数是如何工作的。由于我的网站上的互动练习,您将始终理解和记得下一个概念所必需的一切。”
Amazon.com
17. 《Head First JavaScript编程》 by Eric Freeman & Elisabeth Robson (推荐度11.3%)
"本书以大脑友好的方式教你从JavaScript语言基础到高级主题,包括对象、函数和浏览器的文档对象模型。你不仅要阅读,还要玩游戏、解决难题、思考谜题,并以你从未想象过的方式与JavaScript交互,编写真正的代码,让你可以开始构建自己的Web应用程序。准备打开你的思维,学习(并掌握)以下关键主题:
- JavaScript的内部细节
- JavaScript如何与浏览器一起工作
- JavaScript类型的秘密
- 使用数组
- 函数的威力
- 如何使用对象
- 利用原型
- 理解闭包
- 编写和测试应用程序
16. 《JavaScript全并列》 by Reginald Braithwaite (推荐度13.2%)
“Reginald Braithwaite的函数、对象、组合器和装饰器之强大组合。《JavaScript全并列》解决了对JavaScript程序员来说的两个重要问题。首先,《JavaScript全并列》给出了处理JavaScript错误、故障、边缘情况和其他潜在陷阱的工具。
有很多关于如何编写JavaScript程序的好的指导。如果您不经过修改或偏离地跟随它们,您将会满意。不幸的是,软件是一件复杂的事情,充满相互作用和副作用。单独采用的两个完全合理的建议在分别独立地采用时可能会相互冲突。在项目开始时,某种方法似乎很好,但在发现新要求时需要进行修订。
当你“离开”这些指导的方向时,你会发现它们的局限性。为了解决边缘问题以及适应和处理更改,进行重构和重写,你需要详细了解JavaScript编程语言的基本原理。”
Amazon.com
15. 《探索ES2018和ES2019》 by Dr. Axel Rauschmayer (推荐度13.2%)
“涵盖ECMAScript 2018和ECMAScript 2019的最新内容。”
Amazon.com
14. 《JavaScript启示录》 by Cody Lindley (推荐度15.1%)
“如果你是一个中级或高级JavaScript开发人员,并且使用JavaScript库,这本书将巩固你对语言的理解,特别是在对象、函数和其他语言特定类别方面。本指南的功能和代码模板是理想的,无论你是使用JavaScript编写客户端、服务器还是桌面应用程序。
Stoyan Stefanov撰写的《JavaScript模式》包括实施每个所讨论模式的实用建议以及几个亲自进行的实践示例。你还将了解反模式:常见的编程方法,在解决问题方面比不解决问题更多问题。
探索编写高质量JavaScript代码的有用习惯,例如避免全局变量等等
学习原型的相对简单替代方案
了解在JavaScript中定义函数的不同方式
创建超越使用对象字面量和构造函数的基本模式的对象
学习JavaScript中可用的代码重用和继承选项
研究适用于常见设计模式的示例JavaScript方法,如Singleton、Factory、Decorator等等
检查适用于客户端浏览器环境的模式”
Amazon.com
13. 《JavaScript适合儿童》 by Nick Morgan (推荐度18.9%)
“JavaScript是互联网的编程语言,它使互联网变得强大,令您喜爱的网站具有交互性,并使在线游戏变得有趣!《JavaScript适合儿童》是一本轻松入门的介绍性书籍,可以通过耐心、逐步的示例结合有趣的插图来教授编程基础知识。你将从基础开始,比如处理字符串、数组和循环,然后转向更高级的主题,如使用jQuery创建交互性以及使用Canvas绘制图形等。”
Amazon.com
12. 《Web开发人员专业JavaScript》 by Matt Frisbie (推荐度18.9%)
“《Web开发人员专业JavaScript》是成为JavaScript开发人员的必备指南。本书适合中级至高级程序员,从技术细节入手,帮助您整理代码,成为更复杂的JavaScript开发人员。本书涵盖了最全面的JavaScript参考资料,共1200页,是目前任何地方都可以找到的最全面的JavaScript参考资料。这本新的第四版已经更新到ECMAScript 2019;新的框架和库、新的技术、新的API等都详细解释了适用于专业开发人员的、实用的技术。”
Amazon.com
11. 《编程JavaScript应用程序》 by Eric Elliott (推荐度22.6%)
“利用JavaScript的强大功能,构建易于扩展和维护的大型Web规模或企业应用程序。通过实施本实用书中介绍的设计模式,有经验的JavaScript开发人员将学习如何编写灵活、有弹性的代码,当代码库不断增长时更容易使用。JavaScript可能是Web的最重要的编程语言,但在现实世界中,JavaScript应用程序在进行更改时经常出现问题。本书作者Eric Elliott向您展示如何在不影响其他代码的情况下向大型JavaScript应用程序添加客户端和服务器端的功能。”
Amazon.com
10. 《JavaScript语言研究》 by Axel Rauschmayer (推荐度22.6%)
“无论你喜欢还是不喜欢,现在无处不在的是JavaScript——从浏览器到服务器再到移动设备——你现在也需要学习这门语言,或者深入学习比你现在还要深入。本书简洁地指导你进入并贯穿整个JavaScript,由一个曾经处于同样境地的经验丰富的程序员撰写。《JavaScript语言研究》帮助您像从来没有过的深入了解JavaScript,帮助您充分利用JavaScript的表现力。反映了最新版本的JavaScript标准,该书提供了经过验证的技术和最佳实践,这些技术和最佳实践将成为您未来几年所依赖的工具。”
Amazon.com
9. 《开始学习JavaScript》 by Jeremy McPeak (推荐度24.5%)
“《开始学习JavaScript》第5版向您展示如何在现代编码风格中高效使用这门语言,包括HTML5编码、JSON数据格式、DOM API、jQuery框架等更有效的编码实践。本新版已被广泛更新,以反映JavaScript的最常用方式,并引入了您作为JavaScript开发人员可以使用的最新工具和技术。本书附有大量练习和解决方案,提供了丰富的练习除了可以测试您的技能,还可以让您跟上进度。”
Amazon.com
8. 《面向对象JavaScript原则》 by Nicholas C.Zakas (推荐度24.5%)
"如果您以前使用过传统的面向对象语言(如C++或Java),JavaScript可能根本不像面向对象。它没有类的概念,您甚至不需要定义任何对象即可编写代码。但是,不要被愚弄了——JavaScript是一种非常强大和富有表现力的面向对象语言,它将许多设计决策直接交到您手中。《面向对象JavaScript原则》 这本书通过深入探究JavaScript的面向对象特性,揭示了这门语言独特的继承和其他关键特性。您将学习:
- 基本值和引用值之间的区别
- 使JavaScript函数如此独特的方法
- 创建对象的各种方式
- 如何定义自己的构造函数
- 如何使用和理解原型
- 类型和对象的继承模式
《面向对象JavaScript原则》会使即使是经验丰富的开发人员对JavaScript的理解更深入。了解JavaScript对象在内部是如何工作的秘密,以便您可以编写更清晰、更灵活和更高效的代码。"
Amazon.com
7. 《JavaScript模式》 by Stoyan Stefanov (推荐度26.4%)
"开发JavaScript应用程序的最佳方法是什么?本书通过多种JavaScript编码模式和最佳实践来帮助您回答这个问题。如果你是一位经验丰富的开发人员,想要解决与对象、函数、继承和其他特定于语言的类别相关的问题,那么本指南中的抽象和代码模板是理想的选择——无论你是使用JavaScript写客户端、服务器端还是桌面应用程序。
由JavaScript专家Stoyan Stefanov撰写——雅虎高级技术人员和YSlow 2.0的架构师——《JavaScript模式》包含实施每个所讨论模式的实用建议以及几个详尽的实例。您还将了解反模式:常见的编程方法,给您带来的问题比解决问题还多
- 探索有助于编写高质量JavaScript代码的有用习惯,如避免使用全局变量等
- 了解使用文字记法模式的简单替代方案
- 探索使用不同方式在JavaScript中定义函数
- 创建超越对象文字和构造函数基本模式的对象
- 学习JavaScript中可用的代码重用和继承选项
- 研究适用于常见设计模式(如Singleton、Factory、Decorator等)的示例JavaScript方法
- 检查适用于客户端浏览器环境的模式"
Amazon.com
6. 《JavaScript和JQuery:交互式前端Web开发》 by Jon Duckett (推荐度30.2%)
“本书适用于希望使用JavaScript使其网站更有趣、更吸引人、更交互式或更可用的任何人。特别是,本书适用于没有计算机科学学位的人(哦,好了,现在还没有)。编程一直让人望而却步,因此我们希望创造一本以视觉方式教授读者如何使用JavaScript的书。而且重要的是,我们不希望假设读者在编程方面有任何经验,只要拥有使用HTML和CSS创建网页的能力即可。(毕竟,如今有各种各样的人正在创建网站,我们并不都来自编程背景。)因此,如果您曾经努力使脚本在您的网页上运行,想要更好地了解如何自定义脚本,或者想要从头开始编写自己的脚本,那么本书就是为您而写的。我们不能保证消除程序员使用的陌生术语,但我们确实告诉您它们的意思(借助视觉示例和图表的帮助),这样JavaScript就不再像一种外语了。”
Amazon.com
5. 《JavaScript忍者秘籍》 by John Resig & Bear Bibeault & Josip Maras (推荐度32.1%)
“如今,Web是各种类型应用程序的通用平台,而JavaScript则是Web的编程语言。如果你对Web开发非常认真,光是成为一个合格的JavaScript编程师是不够的,你需要成为一个忍者一样隐秘、高效和准备应对任何情况的人。这本书将教你如何做到这一点。”
Amazon.com
4. 《高效JavaScript》 by David Herman (推荐度39.6%)
“要真正掌握JavaScript,您需要学会如何有效地使用这门语言的灵活、表达性的特性,以及如何避免其陷阱。无论您编写JavaScript代码多长时间, 《高效JavaScript》都将帮助加深您对这种强大语言的理解,使您能够构建更可预测、可靠和可维护的程序。作者David Herman,曾在Ecma的JavaScript标准ization委员会上服务多年,从未在以前揭示过JavaScript的内部运作方式——帮助您充分利用JavaScript的表现力。反映了最新版本的JavaScript标准,本书提供了经过验证的技术和最佳实践,这些技术和最佳实践将帮助您多年来取得成功。”
Amazon.com
3. 《精通JavaScript》 by Marijn Haverbeke (推荐度56.6%)
“JavaScript几乎是现代Web应用程序的核心,从Twitter等社交应用到Phaser和Babylon等基于浏览器的游戏框架。尽管对于初学者来说,它很容易上手和使用,但JavaScript对于构建大型应用程序来说是一门灵活、复杂的语言。这本备受期待且彻底修订的第三版《精通JavaScript》深入探讨了JavaScript语言,向您展示如何编写优雅、高效的代码。它已经更新到反映JavaScript和Web浏览器的最新版本,并包括全新的内容,例如类符号、箭头函数、迭代器、生成器、Promises、async/await和块作用域。还添加了大量的新练习,以测试您的技能并让您保持在正确的方向上。”
Amazon.com
2. 《你并不懂JS系列书》 by Kyle Simpson (推荐度60.4%)
“似乎近年来,对于深入了解JavaScript基础知识的需求前所未有。但是在无数的博客、书籍和视频中,您到底该从何处开始学习?快来看看全球最畅销的《你并不懂JS》系列书第二版:《你并不懂JS系列————但你还未知》。所有这6本全新的书都是崭新的,重写以覆盖2020年及以后的所有JS方面。
《开始》这本书为您之后的旅程做好了准备,首先对语言进行了调查,然后详细介绍了《你并不懂JS》系列的其他书籍如何引导您更加深入地了解JS。”
Amazon.com
1. 《JavaScript:权威指南》 by David Flanagan (推荐度66.0%)
“JavaScript是互联网的编程语言,比起任何其他编程语言,如今的软件开发人员更多地在使用它。在近25年里,这本畅销书一直是JavaScript程序员的首选指南。第七版已完全更新,以覆盖2020年版本的JavaScript,并新增章节涵盖了class、module、iterators、generators、Promises、async/await和元编程等主题。整本书融入了引人入胜和令人愉悦的示例代码。”
Amazon.com
结论
结论
尽管排序可能会让一些人感到意外,但根据定义,你们中的大多数人肯定已经听说过这些书了。
这个列表令人惊讶的发现:
- O’Reilly是这个列表的大赢家,有7本书进入了前25名
- 令人惊讶的是,《JavaScript好部分》不在这个列表中
- 2020年,jQuery仍然与JS生态系统密切相关
希望您喜欢这篇文章。我现在在我的第一个无代码工具中发布所有这些列表:
Best-Books.dev,去看看吧。
‘’’