了解javascript中的数字基础

时间:2011-10-17 21:35:39

标签: javascript integer

  

可能重复:
  Leading zero in javascript

鉴于您有以下JavaScript代码段:

<script>
   var x = 013;
   console.log(x);
</script>

为什么Firebug会打印11

6 个答案:

答案 0 :(得分:4)

JavaScript支持与C和Java(等人)相同的数字常量约定,因此前导零使得八进制常量。 (基数8中的“13”是8 + 3,或11。)

答案 1 :(得分:3)

它的八进制值。所以1 * 8 ^ 1 + 3 * 8 ^ 0 = 11

答案 2 :(得分:2)

因为您指定了八进制数,但它显示了十进制表示。

答案 3 :(得分:1)

它将它解释为八进制。从零开始的任何数字都被解释为八进制(基数8)字面值,八进制13 = 8 * 1 + 3 = 11十进制数。

另外,好的头衔。

答案 4 :(得分:1)

它被解释为基数8.而基数8中的013是十进制的11。

在javascript中,以0dd或-0dd开头并且不是0xdd或-0xdd的常数被解释为八进制(基数为8)。

您可以在第231页的ECMAScript specification中看到它。

答案 5 :(得分:1)

013八进制常量 - 它在基数8中解释.1·8 + 3·1 = 8 + 3 = 11