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
是不可能的。