3

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!"

ありがとう!

4

5 に答える 5

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

var myLang = 'ESP';

console.log(hellos[myLang]);

すべてをグローバルスコープに入れてから、ウィンドウのプロパティにアクセスする文字列は好きではありません。だからここにそれを行う別の方法があります。

于 2012-12-14T16:07:46.840 に答える
4

変数がグローバル コンテキストで定義されている場合は、次のようにすることができます。

console.log(window['myText_' + myLang]); 
于 2012-12-14T16:06:11.790 に答える
1

そのために使用できますevalが、これは非常に悪い習慣です:

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

代わりにオブジェクトを用意することをお勧めします:

var myLang = "ESP";
var texts = {
    'ESP': "Hola a todos!",
    'ENG': "Hello everyboy!"
};
console.log( texts[ myLang ] );
于 2012-12-14T16:08:44.140 に答える
1
var myLang = "ESP";

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

console.log(myText[myLang]); // This should trace "Hola a todos!"
于 2012-12-14T16:08:26.777 に答える
0

良い練習ではありませんが、eval()関数を使ってみてください。

var myLang = "ESP";

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

console.log(eval('myText_' + myLang));
于 2012-12-14T16:08:12.430 に答える