Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript toString仅适用于括号或非文字数字_Javascript_String_Tostring_Parentheses - Fatal编程技术网

Javascript toString仅适用于括号或非文字数字

Javascript toString仅适用于括号或非文字数字,javascript,string,tostring,parentheses,Javascript,String,Tostring,Parentheses,出于某种原因,当我尝试对一个文本数字调用toString时,它失败了: > 5.toString() SyntaxError: Unexpected token ILLEGAL 所以我试着把它放在一个变量中,它成功了: > var five = 5 undefined > five.toString() "5" 我觉得这有点奇怪,经过更多的实验后,我发现在括号中封装一个文字不知何故使它起作用: > (5).toString() "5" 这似乎很奇怪!为什么将文字括在

出于某种原因,当我尝试对一个文本数字调用
toString
时,它失败了:

> 5.toString()
SyntaxError: Unexpected token ILLEGAL
所以我试着把它放在一个变量中,它成功了:

> var five = 5
undefined
> five.toString()
"5"
我觉得这有点奇怪,经过更多的实验后,我发现在括号中封装一个文字不知何故使它起作用:

> (5).toString()
"5"

这似乎很奇怪!为什么将文字括在括号中会改变什么?为什么
5.toString()
不起作用?

数字后面的点表示小数点

如果你这样做,它会起作用

5..toString();
为了澄清javascript中小数点后跟数字的时间,它希望下一个字符是数字的字符,因此如果
toString()
在那里,则它被视为非法标记,因为
t
不是有效的数字

这是做同样事情的另一种有效方式,但更容易阅读和遵循

5.0.toString();

为什么将文字括在括号中会改变什么


这会使文字变成一个表达式。因此,可以对表达式调用方法
.toString()
。正如@Musa链接的那样,数字后的
被解释为小数点,当遇到5.t时会引发异常,因为t不是有效的数字。

@Musa哦,谢谢,我没有发现这一点,因为我认为这与
toString
和不调用数字方法有关:P@ShahroozJefri你为什么编辑这个?真奇怪。谢谢我可以在7分钟内接受答案我给你加了解释,