我很好奇,我已经编程了JavaScript几年,但有时候当我看到以下变量声明时我会感到困惑:( ofc。那些也可能是其他任何数字)。
var exampleOne = 0.5;
var exampleTwo = .5;
这两者之间有什么区别,或者有没有?是否存在某种隐藏的好处,我显然不明白?
答案 0 :(得分:3)
0.5
匹配规则 DecimalLiteral :: DecimalIntegerLiteral。 DecimalDigits ,评估为(MV表示数学值):
DecimalLiteral :: DecimalIntegerLiteral的MV。 DecimalDigits 是 DecimalIntegerLiteral 的MV( DecimalDigits 的MV乘以10 -n )的MV,其中 n 是 DecimalDigits 中的字符数。
.5
匹配规则 DecimalLiteral ::。 DecimalDigits ,评估为
DecimalLiteral ::的MV。 DecimalDigits 是 DecimalDigits 乘以10 -n 的MV,其中 n 是 DecimalDigits中的字符数
因此,您可以看到唯一的区别是.
之前的数字值被添加到最终值。将0
添加到某个值不会更改该值。
答案 1 :(得分:1)
没有区别。
同等地解析Numeric Literals - 也就是说,0.5
和.5
(如同.50
)代表相同的号码。 (与大多数其他语言不同,JavaScript只有一种数字。)
我更喜欢始终在小数点前包含[可选]前导0。