在Javascript中从Object访问值时获得意外的价值

时间:2015-02-26 18:51:33

标签: javascript

我编写了一个非常简单的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

我不知道为什么会这样。请帮我理解这一点。

1 个答案:

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