我們可以通過他們的名字這樣叫變量:訪問值
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
但是我聽說是不推薦的eval。有沒有一種方法可以通過名稱調用變量而不用eval?
我們可以通過他們的名字這樣叫變量:訪問值
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
但是我聽說是不推薦的eval。有沒有一種方法可以通過名稱調用變量而不用eval?
如果變量是全局變量,那麼可以執行window[name]
,否則不會。 「變量變量」是一個PHP的東西。
如果你想這樣做,改變你的程序,以便你的變量存儲在一個對象中。
var vars = {
a: 4
};
var name = "a";
alert(vars[name]);
你是對的,eval
是絕對不推薦。一種常見的辦法就是讓他們一個對象的屬性,然後用方括號來訪問它們:
var name = "a";
var myObj = {
a: 4
};
alert(myObj[name]);
這裏有一個working example。
+1一個exaplanation這種方法是什麼解決 - 將有所幫助:) –
+1爲窗口[名稱] –