从一个字符串变量获取(Get variable from a string)

2019-07-05 08:18发布

有谁知道我怎么会选择在JavaScript字符串变量? 这里就是我基本上是试图实现:

var myLang = "ESP";

var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everybody!";

console.log(myText_ + myLang); // This should trace "Hola a todos!"

谢谢!

Answer 1:

var hellos = {
    ESP: 'Hola a todos!',
    ENG: 'Hello everybody!'
};

var myLang = 'ESP';

console.log(hellos[myLang]);

我不喜欢在全球范围内把一切,然后串访问窗口属性; 所以这里是另一种方式来做到这一点。



Answer 2:

如果变量是在全球范围内定义,你可以这样做:

console.log(window['myText_' + myLang]); 


Answer 3:

var myLang = "ESP";

var myText = {
    ESP : "Hola a todos!",
    ENG : "Hello everybody!"
}

console.log(myText[myLang]); // This should trace "Hola a todos!"


Answer 4:

您可以使用eval对于但这是非常不好的做法:

console.log(eval("myText_" + myLang);

我会建议有一个对象,而不是:

var myLang = "ESP";
var texts = {
    'ESP': "Hola a todos!",
    'ENG': "Hello everyboy!"
};
console.log( texts[ myLang ] );


Answer 5:

这不是一个很好的初步实践,但你可以尝试使用eval()函数。

var myLang = "ESP";

var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everyboy!";

console.log(eval('myText_' + myLang));


文章来源: Get variable from a string