为什么我不能用一个点访问一个整数的属性?
如果我试图写
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
和.
成为两个独立的标记。
你的任何解决方法对我来说都很好。