勘误表
Eloquent JavaScript,第三版

以下是本书第三版中已知的错误。有关第一版的勘误表,请参见此页面。有关第二版的勘误表,请参见此页面。要报告此处未列出的问题,请给我发送电子邮件

如果页码后面跟着序数,则该错误仅存在于该序数表示的印刷版中。例如,后面跟着“第一版”的错误在第二版印刷中已修复。

第二章

第 34 页(第一版)简洁地更新绑定:在写着 counter- 的地方,应该写成 counter--

第五章

第 91 页(第三版)可组合性:由于脚本数据集中最初的错误,此页上的计算结果与使用当前已修正数据的计算结果不同。现存脚本的平均年份应该为 1165,非现存脚本的平均年份应该为 204。

第六章

第 111 页(第二版)继承:在示例代码下面的第二段中,应该将“content 方法”改为“element 函数”。

第八章

第 134 页(第二版)错误传播:在该部分的第三段中,提到了一个名为 promptInteger 的函数。该函数实际上称为 promptNumber,并且应该从句子中去掉“整数”一词(它也接受非整数)。

第十章

第 168 页(第一版)模块作为构建块:在“每个模块都需要它自己的私有作用域”中,应该写成“自己的私有作用域”。

第十一章

第 189/190 页(第四版)网络很复杂:在定义 request 函数的代码下面的文本中,声称该函数将在四次尝试和一秒钟后放弃。实际上,它会在三次尝试后放弃,并且只持续三刻钟。

第十四章

第 231 页(第五版)遍历树:在代码示例下面,文本声称 for/of 循环在 DOM 子节点列表上不起作用。但实际上,在当前的浏览器中(甚至在本书发布之时),它们是可以正常工作的。

第 234 页(第二版)创建节点:在代码中,“edition”被拼写为“editon”。

第十五章

第 255 页(第七版)鼠标移动:该页上的第二段声称可以使用余数运算符从 buttons 位掩码中分离出一个按钮,但这实际上并不起作用(还需要除法和向下取整,这对于本章来说过于深奥)。

第 258 页(第三版)加载事件beforeunload 的描述声称你只需要从事件处理程序中返回一个字符串即可。实际上,对于使用 addEventListener 注册的处理程序,你需要调用 preventDefault 并设置 returnValue 属性才能获得离开警告行为。

第十六章

第 271 页(第八版)Actor:在页面底部附近,书中错误地使用了“相位”(正弦波的相位)一词,而应该说“周期”。

第 278 页(第八版)运动和碰撞:定义 touches 方法的代码无意中(虽然无害)使用 var 而不是 let 来定义变量。

第 285 页(第二版)暂停游戏:文本指的是 arrow 绑定,而应该说 arrowKeys

第十九章

第 336 页(第五版)状态:文本中提到了 fillColor 属性,而应该写成 fillStyle

第二十章

第 367 页(第十版)文件服务器:谈到“对请求的输出流”的部分应该改为“来自请求的流”。

第 369 页(第一版)目录创建MKCOL 代表“创建集合”,而不是书中所称的“创建列”。

第二十一章

第 373 页(第三版)HTTP 接口:在示例 JSON 代码片段的末尾有一个多余的右花括号。

练习提示

第 414 页(第三版)模块化机器人dijkstrajs 包名拼写错误,应该是 dijkstajs