本书通常会提到某个特性是 ECMAScript 5(旧版浏览器要求)还是更新版本的一部分。有关更详细信息(包括 ES5 之前的版本),网上有几个很好的兼容性表
请参阅以下资源
JavaScript 经常静默失败。让我们看两个例子。
第一个例子:如果运算符的操作数没有适当的类型,则会根据需要进行转换。
> '3' * '5'15
第二个例子:如果算术计算失败,您会得到一个错误值,而不是异常。
> 1 / 0Infinity
静默失败的原因是历史原因:JavaScript 在 ECMAScript 3 之前没有异常。从那时起,它的设计者就一直试图避免静默失败。
§3.7 “JavaScript 的演变:不要破坏网络” 中回答了这个问题。
§8.1 “试用 JavaScript 代码” 解释了如何做到这一点。