注释
目录
请支持本书:购买 (PDF, EPUB, MOBI)捐赠
(广告,请勿屏蔽。)

注释

背景

1这并不完全正确:有一些细微的破坏性更改不会影响网络上的代码。这些在 ES6 规范的 D.1 节E.1 节 中有详细说明。

2来源:Allen Wirfs-Brock 的推文。https://twitter.com/awbjs/status/574649464687734785

数据

1 [Speaking JS] parseFloat() 在 (“Speaking JavaScript”) 中。

2 [Speaking JS] parseInt() 在 (“Speaking JavaScript”) 中。

3 [Speaking JS] 舍入误差的详细信息在 (“Speaking JavaScript”) 中有解释。

4在内部,JavaScript 有 两个零Math.sign(-0) 产生结果 -0,而 Math.sign(+0) 产生结果 +0

5可迭代对象在 另一章 中有解释。

6关于数组的章节 中有解释。

模块化

1例外情况是函数表达式和对象字面量,您必须将它们放在括号中,因为它们看起来像函数声明和代码块。

2 [规范] “导入” 一节从语法规则开始,然后是语义。

3 [规范] 规范方法 GetExportedNames() 收集模块的导出。在步骤 (7.d.i) 中,检查会阻止其他模块的默认导出被重新导出。

4 [规范] “导出” 一节从语法规则开始,然后是语义。

集合

1 [Speaking JS] “陷阱:将对象用作映射

2基于 David Herman 的幻灯片“关闭迭代器”。

3 throw() 也是一个可选方法,但在实践中从未用于迭代器,因此在 关于生成器的章节 中有解释)

4组合子”(在 HaskellWiki 中)描述了什么是组合子。

5或者更确切地说,该函数会一直计数,直到数字 start 溢出并变为 Infinity,此时它不再改变。