有谁知道如何在JavaScript中从String中选择变量?这就是我基本上想要实现的目标:
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everybody!";
console.log(myText_ + myLang); // This should trace "Hola a todos!"
谢谢!
答案 0 :(得分:6)
var hellos = {
ESP: 'Hola a todos!',
ENG: 'Hello everybody!'
};
var myLang = 'ESP';
console.log(hellos[myLang]);
我不喜欢将所有内容放在全局范围内,然后将字符串访问窗口属性;所以这是另一种方法。
答案 1 :(得分:4)
如果您的变量是在全局上下文中定义的,那么您可以这样做:
console.log(window['myText_' + myLang]);
答案 2 :(得分:1)
var myLang = "ESP";
var myText = {
ESP : "Hola a todos!",
ENG : "Hello everybody!"
}
console.log(myText[myLang]); // This should trace "Hola a todos!"
答案 3 :(得分:1)
您可以使用eval
,但这是非常糟糕的做法:
console.log(eval("myText_" + myLang);
我建议改为使用对象:
var myLang = "ESP";
var texts = {
'ESP': "Hola a todos!",
'ENG': "Hello everyboy!"
};
console.log( texts[ myLang ] );
答案 4 :(得分:0)
这不是一个好习惯,但您可以尝试使用eval()
功能。
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everyboy!";
console.log(eval('myText_' + myLang));