3

私の質問を説明するために、この JSFiddle を作成しました。

この例では 10 - 00 = 8 のようです。

簡単な質問: なぜ #ha には 8 が含まれるのですか? 私は何かを誤解しましたか?

var a4 = new Date(2012,00,00,00,00,00,0010);
var b4 = new Date(2012,00,00,00,00,00,0000);
var c4 = a4-b4;
var d4 = document.getElementById("ha");
d4.innerHTML=c4;
4

2 に答える 2

10

整数リテラルが で始まる場合、10 進リテラルではなく8 進リテラル0として解釈されます。リテラルはリテラルと同じ値です。先頭のゼロを削除します。00108

于 2013-01-09T22:20:41.120 に答える
1

数値に先行0を使用することは、0xが16進数を示すのと同じように、8進数(基数8)を使用していることをプロセッサに通知します。

0010 - 0 == 010 == 8 in base ten
10 - 0 == 10 == 10 in base ten
0x10 - 0 == 0x10 == 16 in base ten
于 2013-01-09T22:23:23.940 に答える