我有一个问题,我希望在javascript中使用一个变量的内容作为另一个变量名。在这种情况下,我不知道该变量的内容是什么,我只知道它是一个文本类型,我希望我需要声明的变量将使用该文本作为其名称。
任何人都可以给我一些关于如何做的建议吗?
谢谢!
答案 0 :(得分: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"
答案 1 :(得分:3)
您可以使用变量的值作为另一个变量的名称,只要后一个变量可以通过括号表示法访问,例如
var firstVariable = 'secondVariable';
window[firstVariable] = 'secondValue';
// you now have a global variable
// named "secondVariable" with the value "secondValue"
注意我不建议像这样混乱全局命名空间;它只是为了示范。