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分钟内接受答案我给你加了解释,