Javascript 为什么1..toString()工作并返回;1“;但是1.tostring()会导致语法错误吗?

Javascript 为什么1..toString()工作并返回;1“;但是1.tostring()会导致语法错误吗?,javascript,Javascript,我知道1不是对象,但当我键入1..toString()时,它在控制台中返回“1”。为什么呢 以下方法有效的原因是: 1..toString() 1..被视为浮点数。控制台需要如下内容: 1.0 1.5 1.toString(); 或者别的什么。如果您正在提供以下内容: 1.0 1.5 1.toString(); 以上数字无效。这就是原因。因此,要实现上述功能,您需要一个括号来表示数字已完成: (1).toString(); 因为JavaScript解析器假定1.后面必须只有一个或多个

我知道1不是对象,但当我键入
1..toString()
时,它在控制台中返回“1”。为什么呢


以下方法有效的原因是:

1..toString()
1..
被视为浮点数。控制台需要如下内容:

1.0
1.5
1.toString();
或者别的什么。如果您正在提供以下内容:

1.0
1.5
1.toString();
以上数字无效。这就是原因。因此,要实现上述功能,您需要一个括号来表示数字已完成:

(1).toString();

因为JavaScript解析器假定
1.
后面必须只有一个或多个数字才能表示浮点数。使用括号是有效的:
(1).toString()

,因为它将
1.
解释为数字。当您有
1.toString()
时,这与说
(1.)toString()
相同。因此,
1..toString()
(1.)是一样的。toString()

这是一个常见的问题,让我们寻找合适的QA来结束…@Loaf你应该把它写下来作为一个答案,而不是评论。这个问题有很多很好的解释:
1.toString()
是一个有趣的选择。@Mouser你的评论是非常错误的