我编写了一个非常简单的JS程序,它没有给出预期的输出。
JSFiddle链接:JsFiddle link
var p = {
11735: [{
d: 46.0,
z: 06810
}, {
d: 30.6,
z: 07047
}, {
d: 36.5,
z: 07026
}, {
d: 36.9,
z: 07032
}, {
d: 43.4,
z: 07083
}, {
d: 32.9,
z: 07094
}, {
d: 35.8,
z: 07002
}, {
d: 39.6,
z: 06460
}, {
d: 43.2,
z: 06484
}, {
d: 15.0,
z: 11581
}, {
d: 48.1,
z: 07753
}, {
d: 37.9,
z: 06614
}, {
d: 27.2,
z: 10601
}, {
d: 0.0,
z: 11735
}]
};
alert(p[11735][1].z);
预期输出应为07047,但实际输出为3623
我不知道为什么会这样。请帮我理解这一点。
答案 0 :(得分:3)
07047
被解释为基数为8的数字,因为它以0
开头。
07047 (base 8) === 3623 (base 10)
http://www.unitconversion.org/numbers/base-8-to-base-10-conversion.html
如果您希望07047
为基数10中的数字7047
,则只需删除开头的0
。