勘误表
以下是本书第二版中已知的错误。有关第一版的勘误,请参见此页面。要报告此处未列出的问题,请给我发送电子邮件。
标题后带有上标数字的问题仅存在于该数字表示的版本之前。例如,带有²的问题在第三次印刷中已修复。
引言
第 4 页(为什么语言很重要¹):句子“You can probably imagine how how tedious…”重复了单词“how”。
第 2 章
第 32 页(while 和 do 循环²):var name
示例在对话框取消时意外退出循环,因为浏览器有一个内置的全局变量 name
,其值会隐式转换为字符串。
第 8 章
第 140 页(程序员错误):在第三段中,文本写着“though several functions”,应该写成“through several functions”。
第 9 章
第 157 页(重复模式的一部分³):页面顶部的段落声称 {,5}
等同于正则表达式中的 {0,5}
。情况并非如此(您必须包含零)。
第 159 页(Date 类型¹):findDate
函数会产生错误的月份。传递给 new Date
的第二个参数应该是 Number(match[2]) - 1
,减去 1 来弥补月份在此接口中从零开始的事实。
第 162 页(回溯²):正则表达式应该在 [\da-f]
组之后再加一个 +
符号,以匹配它所描述的匹配内容。该表达式的图表也缺少一个循环回到相应框的箭头。
第 10 章
第 185 页(加载缓慢的模块¹):在 define
的代码片段中,every
方法的第二次使用是不正确的。该调用应该是 myMod.onLoad.forEach
。
第 11 章
第 192 页(解析¹):示例 Egg 程序的括号分配不正确。第二行的一个右括号应该移到最后一行末尾。
第 12 章
第 209 页(网络²):在第三段中,我声称“URL”中的 U 代表“通用”,而实际上代表“统一”。
第 14 章
第 242 页(鼠标移动¹):示例使用 event.which
来检测鼠标按钮释放。这只在 Chrome 和 Safari 中有效。请参阅更新后的代码和注释,了解更佳方法。
第 16 章
第 281 页(曲线¹):文本指的是 bezierCurve
方法。该方法实际上被称为 bezierCurveTo
(如示例代码所示)。
第 282 页(曲线¹):在提到图片显示从圆形左侧到四分之一圆形左侧的一条线时,应该在两个地方都改为“右侧”。
第 17 章
第 312 页(总结¹):代码示例使用了 statusCode
属性。该属性不存在,因为实际的属性名为 status
。
第 18 章
第 316 页(字段²):示例底部 file
字段中的 checked
属性没有任何意义,不应该存在。
第 327 页(总结¹):“When the user has selected a field” 应该改为 “When the user has selected a file”。
第 21 章
第 377 页(长轮询支持³):在第二段中,changesSince
参数被错误地称为 changeSince
(单数)。
习题提示
第 409 页(反转数组):页面底部附近的 for
循环写着 \textgreater{}
,应该写成 >
。