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

当整数文字以它开头时,0它被解释为八进制文字,而不是十进制文字。文字与文字0010具有相同的值8。删除前导零。

于 2013-01-09T22:20:41.120 回答
1

在数字上使用前导 0 是向处理器发出的信号,表明您正在使用八进制(以 8 为基数)数字,就像 0x 表示十六进制一样。

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 回答