这很奇怪。这是在Chrome浏览器JavaScript控制台中发生的情况(版本42.0.2311.135,64位)。
> 0
< 0
> 00
< 0
> 0.0
< 0
> 00.0
X Uncaught > SyntaxError: Unexpected number
Firefox 37.0.2同样会出现这个问题,尽管它的错误信息是:
SyntaxError: missing ; before statement
关于JavaScript如何解析数字可能有一些技术性的解释,也许只有在控制台提示符上进行调试时才会发生这种情况,但它仍然似乎是错误的。
为什么会这样呢?
Number("00.0")
可以工作,而Number(00.0)
则不行。 - Chris DennisNumber()
函数使用的规则与解析器使用的规则不同(请参见将 ToNumber 应用于 String 类型)。 - Salman A