Javascript 如何引用对象中的其他节点?

Javascript 如何引用对象中的其他节点?,javascript,Javascript,我有一个js对象,看起来像这样: Inköp: { name: 'Inköp', key: 73, def: Kvitto, menu: { Kvitto: { key: 75, name: 'med kvitto', }, Faktura: { key: 70, name: 'på faktura',

我有一个js对象,看起来像这样:

Inköp: {
    name: 'Inköp',
    key: 73,
    def: Kvitto,
    menu: {
        Kvitto: {
            key: 75,
            name: 'med kvitto',

        },
        Faktura: {
            key: 70,
            name: 'på faktura',
        }
    }
}
obj.Inköp.menu[obj.Inköp.def];

Def键是deafult的缩写,应该用于检索Inköp.menu.Kvitto,我当前的设置显然不起作用,我该怎么做?

您不能从同一个对象文本中引用对象文本中的另一个对象节点,但可以从文本外部进行引用。例如,您可以这样做:

var obj = {
    Inköp: {
        name: 'Inköp',
        key: 73,
        menu: {
            Kvitto: {
                key: 75,
                name: 'med kvitto',

            },
            Faktura: {
                key: 70,
                name: 'på faktura',
            }
        }
    }
};
obj.def = obj.Inköp.menu.Kvitto;
您还可以将
def
设置为字符串值
“Kvitto”
,然后可以从文本外部访问该值,如下所示:

Inköp: {
    name: 'Inköp',
    key: 73,
    def: Kvitto,
    menu: {
        Kvitto: {
            key: 75,
            name: 'med kvitto',

        },
        Faktura: {
            key: 70,
            name: 'på faktura',
        }
    }
}
obj.Inköp.menu[obj.Inköp.def];

这取决于您希望在声明文字或使用文字时简洁。

在创建对象后设置
def
。例如,
foo.bar=foo.baz.xyz。我想知道javascript键是否与非-ascii@edisonthk:JavaScript是unicode:@FelixKling感谢您的支持link@KristofferNolgren谢谢你给我这么好的信息,并向你道歉,我也不能给你的问题提供任何帮助。