2012-09-19 136 views
3

我有一個問題,我希望在javascript中使用一個變量的內容作爲另一個變量名稱。在這種情況下,我不知道該變量中的內容是什麼,我只知道它是一種文本類型,我希望我需要聲明的變量將使用該文本作爲其名稱。如何使用變量的內容在javascript中聲明另一個變量?

任何人都可以給我一些建議如何做到這一點?

謝謝!

+1

請在這裏發佈您的代碼。 – j08691

+0

像動態變量?檢查出http://stackoverflow.com/questions/2413414/is-there-an-easy-way-to-create-dynamic-variables-with-javascript#2413453 – JKirchartz

回答

3

你真的不能,variable名(標識符)是靜態的(只要你不使用eval)的範圍。

但是,您可以輕鬆地爲use objects。訪問它們的特性與變量名是很容易,使用bracket notation

var obj = { someprop:"someval", otherprop:… }, 
    name = "someprop"; 
obj[name]; // "someval" 

如果你需要一個全局變量,你可以做,通過訪問作爲全局對象的屬性(在瀏覽器:window):

variable = "someval"; 
var name = "variable"; 
window[name]; // "someval" 
+0

哈哈,我只是打字如何做到這一點一個全球性... +1 – JKirchartz

3

您可以只要使用一個變量的值作爲另一個變量的名字,因爲後者變量可以通過括號標記,例如訪問

var firstVariable = 'secondVariable'; 

window[firstVariable] = 'secondValue'; 
// you now have a global variable 
// named "secondVariable" with the value "secondValue" 

注意我不推薦混淆這樣的全局命名空間;這只是爲了示範。

+0

+1推薦避免全局變量 – Bergi