From dd602ae3be07bd4aad07cf7bf601a285aadbfe4e Mon Sep 17 00:00:00 2001
From: wizardforcel <562826179@qq.com>
Date: Fri, 1 Jun 2018 18:10:13 +0800
Subject: [PATCH] 0
---
0.md | 90 +++++++++++++++++++++++++++++++---------------------
img/0-0.jpg | Bin 0 -> 17489 bytes
2 files changed, 53 insertions(+), 37 deletions(-)
create mode 100644 img/0-0.jpg
diff --git a/0.md b/0.md
index dc326cb..8b1629b 100644
--- a/0.md
+++ b/0.md
@@ -1,8 +1,22 @@
# 零、前言
-这是一本关于指导电脑的书。时至今日,计算机就像螺丝刀一样随处可见,但相比于螺丝刀而言,计算机更复杂一些,并且,让他们做你想让他们做的事情,并不总是那么容易。
+> 原文:[Introduction](https://eloquentjavascript.net/00_intro.html)
+>
+> 译者:[飞龙](https://github.com/wizardforcel)
+>
+> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
+>
+> 自豪地采用[谷歌翻译](https://translate.google.cn/)
+>
+> 部分参考了[《JavaScript 编程精解(第 2 版)》](https://book.douban.com/subject/26707144/)
-
+> We think we are creating the system for our own purposes. We believe we are making it in our own image... But the computer is not really like us. It is a projection of a very slim part of ourselves: that portion devoted to logic, order, rule, and clarity.
+
+> Ellen Ullman,《Close to the Machine: Technophilia and its Discontents》
+
+
+
+这是一本关于指导电脑的书。时至今日,计算机就像螺丝刀一样随处可见,但相比于螺丝刀而言,计算机更复杂一些,并且,让他们做你想让他们做的事情,并不总是那么容易。
如果你让计算机执行的任务是常见的,易于理解的任务,例如向你显示你的电子邮件,或像计算器一样工作,则可以打开相应的应用并开始工作。 但对于独特的或开放式的任务,应用可能不存在。
@@ -19,7 +33,7 @@
## 关于程序设计
-除了讲解JavaScript之外,本书也会介绍一些程序设计的基本原则。程序设计还是比较复杂的。编程的基本规则简单清晰,但在这些基本规则之上构建的程序却容易变得复杂,导致程序产生了自己的规则和复杂性。即便程序是按照你自己的思路去构建的,你也有可能迷失在代码之间。
+除了讲解 JavaScript 之外,本书也会介绍一些程序设计的基本原则。程序设计还是比较复杂的。编程的基本规则简单清晰,但在这些基本规则之上构建的程序却容易变得复杂,导致程序产生了自己的规则和复杂性。即便程序是按照你自己的思路去构建的,你也有可能迷失在代码之间。
在阅读本书时,你有可能会觉得书中的概念难以理解。如果你刚刚开始学习编程,那么你估计还有不少东西需要掌握呢。如果你想将所学知识融会贯通,那么就需要去多参考和学习一些资料。
@@ -57,29 +71,29 @@
01100010 00000000 00000000
```
-该程序计算数字1~10之和,并打印出结果:1+2+…+10=55。该程序可以运行在一个简单的机器上。在早期计算机上编程时,我们需要在正确的位置设置大量开关阵列,或在纸带上穿孔并将纸带输入计算机中。你可以想象这个过程是多么冗长乏味且易于出错。即便是编写非常简单的程序,也需要有经验的人耗费很大精力才能完成。编写复杂的程序则更是难上加难。
+该程序计算数字 1~10 之和,并打印出结果:`1+2+...+10=55`。该程序可以运行在一个简单的机器上。在早期计算机上编程时,我们需要在正确的位置设置大量开关阵列,或在纸带上穿孔并将纸带输入计算机中。你可以想象这个过程是多么冗长乏味且易于出错。即便是编写非常简单的程序,也需要有经验的人耗费很大精力才能完成。编写复杂的程序则更是难上加难。
-当然了,手动输入这些晦涩难懂的位序列(1和0)来编写程序的确能让程序员感到很有成就感,而且能给你的职业带来极大的满足感。
+当然了,手动输入这些晦涩难懂的位序列(1 和 0)来编写程序的确能让程序员感到很有成就感,而且能给你的职业带来极大的满足感。
在上面的程序中,每行都包含一条指令。我们可以用中文来描述这些指令:
-1. 将数字0存储在内存地址中第0的位置。
+1. 将数字 0 存储在内存地址中的位置 0。
-2. 将数字1存储在内存地址中第1的位置。
+2. 将数字 1 存储在内存地址的位置 1。
-3. 将内存地址中第1的位置的值存储在内存地址中第2的位置。
+3. 将内存地址的位置 1 中的值存储在内存地址的位置 2。
-4. 将内存地址中第2的位置的值减去数字11。
+4. 将内存地址的位置 2 中的值减去数字 11。
-5. 如果内存地址第2的位置的值是0,则跳转到指令9。
+5. 如果内存地址的位置 2 中的值是 0,则跳转到指令 9。
-6. 将内存地址第1的位置的值加到内存地址第0的位置上。
+6. 将内存地址的位置 1 中的值加到内存地址的位置 0。
-7. 将内存地址第1的位置上的值加上数字1。
+7. 将内存地址的位置 1 中的值加上数字 1。
-8. 跳转到指令3。
+8. 跳转到指令 3。
-9. 输出内存地址第0的位置上的值。
+9. 输出内存地址的位置 0 中的值。
虽说这已经比一大堆位序列要好读了许多,但仍然不清晰。使用名称而不是数字用于指令和存储位置有所帮助:
@@ -97,9 +111,9 @@
Output “total”.
```
-现在你能看出该程序是如何工作的吗?前两行代码初始化两个内存位置的值:total用于保存累加计算结果,而count则用于记录当前数字。你可能觉得compare的那行代码看起来有些奇怪。程序想根据count是否等于11来决定是否应该停止运行。因为我们的机器相当原始,所以只能测试一个数字是否为0,并根据它做出决策。因此程序用名为compare的内存位置存放count–11的值,并根据该值是否为0决定是否跳转。接下来两行将count的值累加到结果上,并将count加1,直到count等于11为止。
+现在你能看出该程序是如何工作的吗?前两行代码初始化两个内存位置的值:`total`用于保存累加计算结果,而`count`则用于记录当前数字。你可能觉得`compare`的那行代码看起来有些奇怪。程序想根据`count`是否等于 11 来决定是否应该停止运行。因为我们的机器相当原始,所以只能测试一个数字是否为 0,并根据它做出决策。因此程序用名为`compare`的内存位置存放`count–11`的值,并根据该值是否为 0 决定是否跳转。接下来两行将`count`的值累加到结果上,并将`count`加 1,直到`count`等于`11`为止。
-下面使用JavaScript重新编写了上面的程序:
+下面使用 JavaScript 重新编写了上面的程序:
```js
let total = 0, count = 1;
@@ -111,62 +125,62 @@ console.log(total);
// → 55
```
-这个版本的程序得到了一些改进。更为重要的是,我们再也不需要指定程序如何来回跳转了,而是由while结构负责完成这个任务。只要我们给予的条件成立,while语句就会不停地执行其下方的语句块(包裹在大括号中)。而我们给予的条件是count<=10,意思是“count小于等于10”。我们再也不需要创建临时的值并将其与0比较,那样的代码十分烦琐。编程语言的一项职责就是,能够帮助我们处理这些烦琐无趣的逻辑。
+这个版本的程序得到了一些改进。更为重要的是,我们再也不需要指定程序如何来回跳转了,而是由`while`结构负责完成这个任务。只要我们给予的条件成立,`while`语句就会不停地执行其下方的语句块(包裹在大括号中)。而我们给予的条件是`count<=10`,意思是“`count`小于等于 10”。我们再也不需要创建临时的值并将其与 0 比较,那样的代码十分烦琐。编程语言的一项职责就是,能够帮助我们处理这些烦琐无趣的逻辑。
-在程序的结尾,也就是while语句结束后,我们使用console.log操作来输出结果。
+在程序的结尾,也就是`while`语句结束后,我们使用`console.log`操作来输出结果。
-最后,我们恰好有range和sum这类方便的操作。下面代码中的range函数用于创建数字集合,sum函数用于计算数字集合之和:
+最后,我们恰好有`range`和`sum`这类方便的操作。下面代码中的`range`函数用于创建数字集合,`sum`函数用于计算数字集合之和:
```js
console.log(sum(range(1, 10)));
// → 55
```
-我们可以从这里了解到,同一个程序的长度可长可短,可读性可高可低。第一个版本的程序晦涩难懂,而最后一个版本的程序则接近于人类语言的表达方式:将1~10范围内的数字之和记录下来(我们会在后面的章节中详细介绍如何编写sum和range这样的函数)。
+我们可以从这里了解到,同一个程序的长度可长可短,可读性可高可低。第一个版本的程序晦涩难懂,而最后一个版本的程序则接近于人类语言的表达方式:将 1~10 范围内的数字之和记录下来(我们会在后面的章节中详细介绍如何编写`sum`和`range`这样的函数)。
-优秀的编程语言可以为开发人员提供更高层次的抽象,使用类似于人类语言的方式来与计算机进行交互。它有助于省略细节,提供便捷的积木(比如while和console.log),允许你定义自己的积木(比如sum和range函数),并使这些积木易于编写。。
+优秀的编程语言可以为开发人员提供更高层次的抽象,使用类似于人类语言的方式来与计算机进行交互。它有助于省略细节,提供便捷的积木(比如`while`和`console.log`),允许你定义自己的积木(比如`sum`和`range`函数),并使这些积木易于编写。。
## 什么是 JavaScript
-JavaScript诞生于1995年。起初,Netscape Navigator浏览器将其运用在网页上添加程序。自此以后,各类主流图形网页浏览器均采用了JavaScript。JavaScript使得现代网页应用程序成为可能——使用JavaScript可以直接与用户交互,从而避免每一个动作都需要重新载入页面。但有许多传统网站也会使用JavaScript来提供实时交互以及更加智能的表单功能。
+JavaScript 诞生于 1995 年。起初,Netscape Navigator 浏览器将其运用在网页上添加程序。自此以后,各类主流图形网页浏览器均采用了 JavaScript。JavaScript 使得现代网页应用程序成为可能 —— 使用 JavaScript 可以直接与用户交互,从而避免每一个动作都需要重新载入页面。但有许多传统网站也会使用 JavaScript 来提供实时交互以及更加智能的表单功能。
-JavaScript其实和名为Java的程序设计语言没有任何关系。起了这么一个相似的名字完全是市场考虑使然,这并非是一个明智的决定。当JavaScript出现时,Java语言已在市场上得到大力推广且拥有了极高人气,因此某些人觉得依附于Java的成功是个不错的主意。而我们现在已经无法摆脱这个名字了。
+JavaScript 其实和名为Java的程序设计语言没有任何关系。起了这么一个相似的名字完全是市场考虑使然,这并非是一个明智的决定。当 JavaScript 出现时,Java 语言已在市场上得到大力推广且拥有了极高人气,因此某些人觉得依附于 Java 的成功是个不错的主意。而我们现在已经无法摆脱这个名字了。
-在JavaScript被广泛采用之后,ECMA国际制订了一份标准文档来描述JavaScript的工作行为,以便所有声称支持JavaScript的软件都使用同一种语言。标准化完成后,该标准被称为ECMAScript标准。实际上,术语ECMAScript和JavaScript可以交换使用。它们不过是同一种语言的两个名字而已。
+在 JavaScript 被广泛采用之后,ECMA 国际制订了一份标准文档来描述 JavaScript 的工作行为,以便所有声称支持 JavaScript 的软件都使用同一种语言。标准化完成后,该标准被称为 ECMAScript 标准。实际上,术语 ECMAScript 和 JavaScript 可以交换使用。它们不过是同一种语言的两个名字而已。
-许多人会说JavaScript语言的坏话。这其中有很多这样的言论都是正确的。当被要求第一次使用JavaScript编写代码时,我当时就觉得这门语言难以驾驭。JavaScript接受我输入的任何代码,但是又使用和我的想法完全不同的方式来解释代码。由于我没有任何线索知道我之前做了什么,因此我需要做出更多工作,但这也就存在一个实际问题:我们可以自由使用JavaScript,而这种自由却几乎没有限度。这种设计其实是希望初学者更容易使用JavaScript编写程序。但实际上,系统不会指出我们错在何处,因此从程序中找出问题变得更加棘手。
+许多人会说 JavaScript 语言的坏话。这其中有很多这样的言论都是正确的。当被要求第一次使用 JavaScript 编写代码时,我当时就觉得这门语言难以驾驭。JavaScript 接受我输入的任何代码,但是又使用和我的想法完全不同的方式来解释代码。由于我没有任何线索知道我之前做了什么,因此我需要做出更多工作,但这也就存在一个实际问题:我们可以自由使用 JavaScript,而这种自由却几乎没有限度。这种设计其实是希望初学者更容易使用 JavaScript 编写程序。但实际上,系统不会指出我们错在何处,因此从程序中找出问题变得更加棘手。
-但这种自由性也有其优势,许多技术在更为严格的语言中不可能实现,而在JavaScript中则留下了实现的余地,正如你看到的那样(比如第10章),有些优势可以弥补JavaScript的一些缺点。在正确地学习JavaScript并使用它工作了一段时间后,我真正喜欢上了JavaScript。
+但这种自由性也有其优势,许多技术在更为严格的语言中不可能实现,而在 JavaScript 中则留下了实现的余地,正如你看到的那样(比如第十章),有些优势可以弥补 JavaScript 的一些缺点。在正确地学习 JavaScript 并使用它工作了一段时间后,我真正喜欢上了 JavaScript。
-JavaScript版本众多。大约在2000~2010年间,这正是JavaScript飞速发展的时期,浏览器支持最多的是ECMAScript 3。在此期间,ECMA着手制定ECMAScript 4,这是一个雄心勃勃的版本,ECMA计划在这个版本中加入许多彻底的改进与扩展。但由于ECMAScript 3被广泛使用,这种过于激进的修改必然会遭遇重重阻碍,最后ECMA不得不于2008年放弃了版本4的制定。这就产生了不那么理想的版本5,这只是一些没有争议的改进,出现在2009年。 然后版本6在2015年诞生,这是一个重大的更新,其中包括计划用于版本 4 的一些想法。 从那以后,每年都会有新的更新。
+JavaScript 版本众多。大约在 2000~2010 年间,这正是 JavaScript 飞速发展的时期,浏览器支持最多的是 ECMAScript 3。在此期间,ECMA 着手制定 ECMAScript 4,这是一个雄心勃勃的版本,ECMA 计划在这个版本中加入许多彻底的改进与扩展。但由于 ECMAScript 3 被广泛使用,这种过于激进的修改必然会遭遇重重阻碍,最后 ECMA 不得不于 2008 年放弃了版本 4 的制定。这就产生了不那么雄心勃勃的版本 5,这只是一些没有争议的改进,出现在 2009 年。 然后版本 6 在 2015 年诞生,这是一个重大的更新,其中包括计划用于版本 4 的一些想法。从那以后,每年都会有新的更新。
-语言不断发展的事实意味着,浏览器必须不断跟上,如果你使用的是较老的浏览器,它可能不支持每个特性。 语言设计师会注意,不要做任何可能破坏现有程序的改变,所以新的浏览器仍然可以运行旧的程序。 在本书中,我使用的是2017版的JavaScript。
+语言不断发展的事实意味着,浏览器必须不断跟上,如果你使用的是较老的浏览器,它可能不支持每个特性。 语言设计师会注意,不要做任何可能破坏现有程序的改变,所以新的浏览器仍然可以运行旧的程序。 在本书中,我使用的是 2017 版的 JavaScript。
-Web浏览器并不是唯一一个可以运行JavaScript的平台。有些数据库,比如MongoDB和CouchDB,也使用JavaScript作为脚本语言和查询语言。一些桌面和服务器开发的平台,特别是Node.js项目(第20章介绍),为浏览器以外的JavaScript编程提供了一个环境。
+Web 浏览器并不是唯一一个可以运行 JavaScript 的平台。有些数据库,比如 MongoDB 和 CouchDB,也使用 JavaScript 作为脚本语言和查询语言。一些桌面和服务器开发的平台,特别是 Node.js 项目(第二十章介绍),为浏览器以外的 JavaScript 编程提供了一个环境。
## 代码及相关工作
代码是程序的文本内容。本书多数章节都介绍了大量代码。我相信阅读代码和编写代码是学习编程不可或缺的部分。尝试不要仅仅看一眼示例,而应该认真阅读并理解每个示例。刚开始使用这种方式可能会速度较慢并为代码所困惑,但我坚信你很快就可以熟能生巧。对待习题的方法也应该一样。除非你确实已经编写代码解决了问题,否则不要假设你已经理解了问题。
-建议读者应尝试在实际的JavaScript解释器中执行习题代码。这样一来,你就可以马上获知代码工作情况的反馈,而且我希望读者去做更多的试验,而不仅仅局限于习题的要求。
+建议读者应尝试在实际的 JavaScript 解释器中执行习题代码。这样一来,你就可以马上获知代码工作情况的反馈,而且我希望读者去做更多的试验,而不仅仅局限于习题的要求。
-可以在[http://eloquentjavascript.net/](http://eloquentjavascript.net/)中查阅本书的在线版本,并运行和实验本书中的代码。也可以在在线版本中点击任何代码示例来编辑、运行并查看其产生的输出。在做习题时,你可以访问[http://eloquentjavascript.net/code/](http://eloquentjavascript.net/code/),该网址会提供每个习题的初始代码,让你专心于解答习题。
+可以在 中查阅本书的在线版本,并运行和实验本书中的代码。也可以在在线版本中点击任何代码示例来编辑、运行并查看其产生的输出。在做习题时,你可以访问 ,该网址会提供每个习题的初始代码,让你专心于解答习题。
-如果想要在本书提供的沙箱以外执行本书代码,需要稍加注意。许多的示例是独立的,而且可以在任何JavaScript环境下运行。但后续章节的代码大多数都是为特定环境(浏览器或者Node.js)编写的,而且只能在这些特定环境下执行代码。此外,许多章节定义了更大的程序,这些章节中出现的代码片段会互相依赖或是依赖于一些外部文件。本书网站的沙箱提供了zip压缩文件的链接,该文件包含了所有运行特定章节代码所需的脚本和数据文件。
+如果想要在本书提供的沙箱以外执行本书代码,需要稍加注意。许多的示例是独立的,而且可以在任何 JavaScript 环境下运行。但后续章节的代码大多数都是为特定环境(浏览器或者 Node.js)编写的,而且只能在这些特定环境下执行代码。此外,许多章节定义了更大的程序,这些章节中出现的代码片段会互相依赖或是依赖于一些外部文件。本书网站的沙箱提供了 zip 压缩文件的链接,该文件包含了所有运行特定章节代码所需的脚本和数据文件。
## 本书概览
-本书包括三个部分。前十二章讨论JavaScript语言本身的一些特性。接下来的8章讨论网页浏览器和JavaScript在网页编程中的实践。最后两章专门讲解另一个使用JavaScript编程的环境——Node.js。
+本书包括三个部分。前十二章讨论 JavaScript 语言本身的一些特性。接下来的 8 章讨论网页浏览器和 JavaScript 在网页编程中的实践。最后两章专门讲解另一个使用 JavaScript 编程的环境 —— Node.js。
-纵观本书,共有5个项目实战章,用于讲解规模较大的示例程序,你可以通过这些章来仔细品味真实的编程过程。根据项目出现次序,我们会陆续构建递送机器人(7)、程序设计语言(12)、平台游戏(16)、像素绘图程序(19)和一个动态网站(21)。
+纵观本书,共有 5 个项目实战章,用于讲解规模较大的示例程序,你可以通过这些章来仔细品味真实的编程过程。根据项目出现次序,我们会陆续构建递送机器人(7)、程序设计语言(12)、平台游戏(16)、像素绘图程序(19)和一个动态网站(21)。
-本书介绍编程语言时,首先使用4章来介绍JavaScript语言的基本结构,包括第二章控制结构(比如在本前言中看到的while单词)、第三章函数(编写你自己的积木)和第四章数据结构。此后你就可以编写简单的程序了。接下来,第五章和第六章介绍函数和对象的运用技术,以编写更加抽象的代码并以此来控制复杂度。
+本书介绍编程语言时,首先使用4章来介绍 JavaScript 语言的基本结构,包括第二章控制结构(比如在本前言中看到的`while`单词)、第三章函数(编写你自己的积木)和第四章数据结构。此后你就可以编写简单的程序了。接下来,第五章和第六章介绍函数和对象的运用技术,以编写更加抽象的代码并以此来控制复杂度。
介绍完第一个项目实战(7)之后,将会继续讲解语言部分,例如第八章错误处理和 bug 修复、第九章正则表达式(处理文本数据的重要工具)、第十章模块化(解决复杂度的问题)以及第十一章异步编程(处理需要时间的事件)。第二个项目实战章节(12)则是对本书第一部分的总结。
-第二部分(第十三章到第十九章),阐述了浏览器JavaScript中的一些工具。你将会学到在屏幕上显示某些元素的方法(第十四章与第十七章),响应用户输入的方法(第十五章)和通过网络通信的方法(第十八章)。这部分又有两个项目实战章节。
+第二部分(第十三章到第十九章),阐述了浏览器 JavaScript 中的一些工具。你将会学到在屏幕上显示某些元素的方法(第十四章与第十七章),响应用户输入的方法(第十五章)和通过网络通信的方法(第十八章)。这部分又有两个项目实战章节。
-此后,第二十章阐述Node.js,而第二十一章使用该工具构建一个简单的网页系统。
+此后,第二十章阐述 Node.js,而第二十一章使用该工具构建一个简单的网页系统。
## 本书版式约定
@@ -188,3 +202,5 @@ function factorial(n) {
console.log(factorial(8));
// → 40320
```
+
+祝好运!
diff --git a/img/0-0.jpg b/img/0-0.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a3f4730cfcd8e4724cd9525a848a8960ff3feadb
GIT binary patch
literal 17489
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
ThDu|fB8LC~H^qg{!}9+FXQ<1_
literal 0
HcmV?d00001