有誰知道我怎麼能從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!"
謝謝!
有誰知道我怎麼能從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!"
謝謝!
var hellos = {
ESP: 'Hola a todos!',
ENG: 'Hello everybody!'
};
var myLang = 'ESP';
console.log(hellos[myLang]);
我不喜歡把一切都在全球範圍內,然後串訪問窗口屬性;所以這是另一種方式。
哈,打我:) –
偉大的思想和什麼不是:) – Chad
如果變量是在全球範圍內定義,你可以這樣做:
console.log(window['myText_' + myLang]);
謝謝你,你救了我的生命和我的神經元! :) –
這不是一個好的實踐,但你可以嘗試使用eval()
函數。
var myLang = "ESP";
var myText_ESP = "Hola a todos!";
var myText_ENG = "Hello everyboy!";
console.log(eval('myText_' + myLang));
'eval()'真的很強大,但值得注意的是它的力量可以被濫用。它可能是一個安全(和代碼維護)責任。 –
感謝理查德的推薦。這就是我說這不是一個好實踐的原因。 :) –
var myLang = "ESP";
var myText = {
ESP : "Hola a todos!",
ENG : "Hello everybody!"
}
console.log(myText[myLang]); // This should trace "Hola a todos!"
您可以使用eval
爲,但是這是非常不好的做法:
console.log(eval("myText_" + myLang);
我會建議有一個對象,而不是:
var myLang = "ESP";
var texts = {
'ESP': "Hola a todos!",
'ENG': "Hello everyboy!"
};
console.log(texts[ myLang ]);
相關:jQuery的Language Switcher](http://stackoverflow.com/questions/13427723/jquery-language-switcher)。 – Sampson