为什么我不能用一个点访问一个整数的属性?

如果我试图写

3.toFixed(5) 

有一个语法错误。 使用双点,放置一个空格,把三个括号或使用括号表示允许它正常工作。

 3..toFixed(5) 3 .toFixed(5) (3).toFixed(5) 3["toFixed"](5) 

为什么单点符号不起作用,我应该使用这些替代方法中的哪一个呢?

这段时间是数字的一部分,所以代码将被解释为:

 (3.)toFixed(5) 

这自然会产生一个语法错误,因为您不能立即跟随带有标识符的数字。

任何方法,保持这段时间不被解释为数字的一部分将工作。 我认为最清楚的方法是在括号中加上括号:

 (3).toFixed(5) 

由于JavaScript标记器中的缺陷,您无法访问它。 JavaScript试图parsing一个数字上的点符号作为浮点数字,所以你不能按照它的属性或方法:

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 

要了解更多背后的对象使用情况和属性,请查看Javascript花园 。

它不起作用,因为JavaScript将3.解释为浮点常量(如3.5 )的开始,或者是整个浮点常量( 3. == 3.0 ),所以你不能遵循它由一个标识符(在你的情况下,一个属性名称)。 它没有认识到你打算3. 成为两个独立的标记。

你的任何解决方法对我来说都很好。