Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在另一个对象中重用对象_Javascript_Object - Fatal编程技术网

Javascript 在另一个对象中重用对象

Javascript 在另一个对象中重用对象,javascript,object,Javascript,Object,我有一个对象,其中包含另一个具有翻译的对象。看起来是这样的: var parent = { //parent object with a bunch of stuff in it countryAlerts:{ //area for country alerts "USA":{ //country en:"FAST", //alert text in English es:"RAPIDO" //alert text in S

我有一个对象,其中包含另一个具有翻译的对象。看起来是这样的:

var parent = { //parent object with a bunch of stuff in it
    countryAlerts:{ //area for country alerts
        "USA":{ //country
            en:"FAST", //alert text in English
            es:"RAPIDO" //alert text in Spanish
        },
        "Japan":{
            en:"FAST",
            es:"RAPIDO"
        }
    }
}
var parent = {
    countryAlerts:{
        "USA":fast,
        "Japan":fast
    }
}

var fast = {
    en:"FAST",
    es:"RAPIDO"
}
我想这样做:

var parent = { //parent object with a bunch of stuff in it
    countryAlerts:{ //area for country alerts
        "USA":{ //country
            en:"FAST", //alert text in English
            es:"RAPIDO" //alert text in Spanish
        },
        "Japan":{
            en:"FAST",
            es:"RAPIDO"
        }
    }
}
var parent = {
    countryAlerts:{
        "USA":fast,
        "Japan":fast
    }
}

var fast = {
    en:"FAST",
    es:"RAPIDO"
}
但我似乎无法让它发挥作用。我想引用这样的对象:
parent.countryAlerts.USA.LANGUAGE

感谢您的帮助


谢谢

是的,这是可能的,您只需首先定义
fast

var fast = {
    en: "FAST",
    es: "RAPIDO"
};
var parent = {
    countryAlerts: {
        "USA" : fast,
        "Japan" : fast
    }
};

var lang = "en";

alert(parent.countryAlerts.USA[lang]); // "FAST"
请注意,方括号表示法用于通过变量名访问对象的成员

编辑:回应评论:


啊,那太傻了。谢谢我现在还有一个问题。假设我想在父对象中快速存储

你是说,像这样(伪代码)

简言之,你不能用一句话就做到这一点。您最好将其移动到多个语句

var parent = {
    fast : {
        en : "FAST",
        es : "RAPIDO"
    }
};
parent.countryAlerts = {
    "USA" : parent.fast,
    "Japan" : parent.fast
};

是的,这是可能的,您只需首先定义
fast

var fast = {
    en: "FAST",
    es: "RAPIDO"
};
var parent = {
    countryAlerts: {
        "USA" : fast,
        "Japan" : fast
    }
};

var lang = "en";

alert(parent.countryAlerts.USA[lang]); // "FAST"
请注意,方括号表示法用于通过变量名访问对象的成员

编辑:回应评论:


啊,那太傻了。谢谢我现在还有一个问题。假设我想在父对象中快速存储

你是说,像这样(伪代码)

简言之,你不能用一句话就做到这一点。您最好将其移动到多个语句

var parent = {
    fast : {
        en : "FAST",
        es : "RAPIDO"
    }
};
parent.countryAlerts = {
    "USA" : parent.fast,
    "Japan" : parent.fast
};
对于您的后续行动:

var parent = new (function()
{
    var fast = {
      en: "FAST",
      es: "RAPIDO"
    };

    this.countryAlerts = {
        "USA" : fast,
        "Japan" : fast
    };
})();
对于您的后续行动:

var parent = new (function()
{
    var fast = {
      en: "FAST",
      es: "RAPIDO"
    };

    this.countryAlerts = {
        "USA" : fast,
        "Japan" : fast
    };
})();

啊,那太傻了。谢谢我现在还有一个问题。假设我想在父对象中快速存储。那我怎么说呢?谢谢!这正是我想要的。我甚至没有想到在父对象之外定义countryAlerts(我一直没有定义父对象)。啊,那太傻了。谢谢我现在还有一个问题。假设我想在父对象中快速存储。那我怎么说呢?谢谢!这正是我想要的。我甚至没有想到要在父对象之外定义countryAlerts(我一直没有定义父对象)。好吧,我试图避免这样定义父对象,但这是可行的。谢谢@陶,是的。在
parent
内部保持
fast
并用对象文本定义
parent
是不可能的。好吧,我试图避免用这种方式定义parent,但这是可行的。谢谢@陶,是的。在
parent
中保持
fast
并用对象文本定义
parent
是不可能的。