如果带括号或没有括号的数字有什么区别?

时间:2016-05-02 12:28:39

标签: javascript

enter image description here

类型(8)和8都是数字,但是当调用toString()方法时,(8)成功但是8次失败,为什么?

2 个答案:

答案 0 :(得分:4)

拥有8(8)之间的区别是,前者是普通数字,后者是 JavaScript表达式。异常的问题是,你写的方式:

8.toString(2);

这里,8.被视为浮点或小数,这会导致语法错误。因为它将它作为小数,给出小数会产生正确的结果:

» 8.0.toString(2);
« "1000"

enter image description here

答案 1 :(得分:2)

8.toString() // Won't work

此处.被视为浮点数表示。因此,如果要将非浮点数转换为字符串,只需在数字后面加一个空格

8 .toString(); // Will work

如果它是一个浮点数,那么你可以直接调用toString

8.2.toString(); // Will work even it doesn't have the space
8..toString(); // Will also work

但我建议你使用括号来代码可读性。

括号中的数字是表达式。