6

请看下面的代码:

2.toString();   // error
2..toString();  // "2"
2...toString(); // error

我想知道为什么2..toString()可以正常运行以及运行时会发生什么?

有人可以解释一下吗?

4

1 回答 1

8

http://shamansir.github.io/JavaScript-Garden/en/#object

一个常见的误解是数字文字不能用作对象。这是因为 JavaScript 解析器中的一个缺陷试图将数字上的点符号解析为浮点文字。

2.toString(); // raises SyntaxError

有几种变通方法可用于使数字文字也充当对象。

2..toString(); // the second point is correctly recognized
2 .toString(); // note the space left to the dot
(2).toString(); // 2 is evaluated first
于 2013-09-25T05:28:04.133 回答