在Chrome控制台中,还可以在edge和firefox中进行测试
5.toFixed(2);
获取
未捕获的SyntaxError:无效或意外的令牌
in chrome。
SyntaxError:标识符在数字文字
之后立即开始
在firefox中。
预期';'
在边缘。
但是下面的代码
5.1.toFixed(2);
(5).toFixed(2);
在上面的所有三个浏览器中都可以。
答案 0 :(得分:1)
这是因为JavaScript解析器假设例如5.toFixed(2)
中的点属于数字文字。 (与5.
一样,这是一个有效的数字文字。)这是因为JavaScript贪婪地解析(至少是数字文字)。
但是如果你做(5).toFixed(2)
,那么解析器很清楚你想要什么(这个点显然不是数字文字的一部分)。
与5.1.toFixed(2)
相同。第二个点显然不能属于数字文字,所以解析器有更好的时间。