将var定义为0.5与.5相比有什么区别?

时间:2014-02-18 01:50:10

标签: javascript

我很好奇,我已经编程了JavaScript几年,但有时候当我看到以下变量声明时我会感到困惑:( ofc。那些也可能是其他任何数字)。

var exampleOne = 0.5;
var exampleTwo = .5;

这两者之间有什么区别,或者有没有?是否存在某种隐藏的好处,我显然不明白?

2 个答案:

答案 0 :(得分:3)

引用specification

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。