假設我有一個變量Var123;像文本一樣訪問變量?
var x = "Var";
var VariableMixLOL = x + "123";
//so VariableMixLOL should be equal to Var123, ex. Var123 = "Abc", VariableMixLOL should be "Abc" too
我該怎麼做?順便說一句我使用AS3
PS:新增的標籤JS太多,因爲我認爲這是同樣的事情
假設我有一個變量Var123;像文本一樣訪問變量?
var x = "Var";
var VariableMixLOL = x + "123";
//so VariableMixLOL should be equal to Var123, ex. Var123 = "Abc", VariableMixLOL should be "Abc" too
我該怎麼做?順便說一句我使用AS3
PS:新增的標籤JS太多,因爲我認爲這是同樣的事情
一種選擇是使用eval()
var x = "Var";
var Var123 = "lalaala";
var VariableMixLOL = eval(x + "123");
另一種選擇和更好的是模擬這樣的東西在JavascriptObject中。
var x = "variable";
var variables = { "variable123" : "laalala"}; //OR variables = {}; variables["variable123"] = "laalala";
var VariableMixLOL = variables[ x + "123"];
任何這些選項適用於As3? –
請自己試試(我沒有as3),如果您打算使用它,則應該再次正確地寫入第二個解決方案。 – sabithpocker
btw,你爲什麼不在第二行寫變量=「lalalal」?這不是一回事嗎? –
如果您合併存儲的對象,則可以使用變量名稱作爲字符串。
例如:
var x = "Var";
var compoundVar = x + "123";
var obj : Object = {};
obj[compoundVar] = 7;
//Now you can call the variable like this
trace(obj.Var123); //7
但我也很喜歡'sabithpocker'的答案很多! –
有沒有什麼辦法可以直接做var,而不必使用obj? –
@IgliKadija:查看其他答案 –
我不認爲這個問題是很清楚的。什麼不工作?預期產出是多少? – elclanrs
那麼,在JS你不能,你需要創建一個對象來做到這一點。像'var variable = {Var123:'hello'}; var x ='Var'; var VariableMixLOL = variable [x +'123'];' –
這不是一回事。 – Stephen