我有一个问题,我希望在javascript中使用一个变量的内容作为另一个变量名称。在这种情况下,我不知道该变量中的内容是什么,我只知道它是一种文本类型,我希望我需要声明的变量将使用该文本作为其名称。如何使用变量的内容在javascript中声明另一个变量?
任何人都可以给我一些建议如何做到这一点?
谢谢!
我有一个问题,我希望在javascript中使用一个变量的内容作为另一个变量名称。在这种情况下,我不知道该变量中的内容是什么,我只知道它是一种文本类型,我希望我需要声明的变量将使用该文本作为其名称。如何使用变量的内容在javascript中声明另一个变量?
任何人都可以给我一些建议如何做到这一点?
谢谢!
你真的不能,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"
哈哈,我只是打字如何做到这一点一个全球性... +1 – JKirchartz
您可以只要使用一个变量的值作为另一个变量的名字,因为后者变量可以通过括号标记,例如访问
var firstVariable = 'secondVariable';
window[firstVariable] = 'secondValue';
// you now have a global variable
// named "secondVariable" with the value "secondValue"
注意我不推荐混淆这样的全局命名空间;这只是为了示范。
+1推荐避免全局变量 – Bergi
请在这里发布您的代码。 – j08691
像动态变量?检查出http://stackoverflow.com/questions/2413414/is-there-an-easy-way-to-create-dynamic-variables-with-javascript#2413453 – JKirchartz