我创建了this JSFiddle to illustrate my question。
在这个例子中似乎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;
答案 0 :(得分:10)
当整数文字以0
开头时,它被解释为八进制文字,而不是十进制文字。文字0010
与文字8
具有相同的值。删除前导零。
答案 1 :(得分: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