《Prefessional Javascript for Web Developers 3rd Edition》里面有提到,我感觉很困惑
《Prefessional Javascript for Web Developers 3rd Edition》里面有提到,我感觉很困惑
不支持的是字面量形式的八进制数值,而且仅在严格模式下才会开启运行时检查,想要使用八进制可以用 parseInt
处理一下。
严格模式不支持字面量形式八进制数值的主要原因是用 0
开头的数字太容易让人犯错了。
javascript 以前是支持八进制数的,直到 ECMA-262 strict mode 才变成不允许。
八进制数这种表达方式在很多语言里面都被废弃了,替代它的是 0o1234567
这种形式,这应该是大势所趋了。特别是在动态语言里面,经常会有 string 和数字自动互转,09
究竟应该被转成 9
还是出错太让人纠结了,于是最终大家都倾向于废弃旧的八进制,把 09
当做 9 来看了。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
Here