3

我有一个问题,我希望在 javascript 中使用一个变量的内容作为另一个变量名。在这种情况下,我不知道该变量中的内容是什么,我只知道它是一个文本类型,我希望我需要声明的变量将使用该文本作为其名称。

任何人都可以给我一些建议如何做到这一点?

谢谢!

4

2 回答 2

4

只要可以通过括号表示法访问后一个变量,您就可以将变量的值用作另一个变量的名称,例如

var firstVariable = 'secondVariable';

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

注意我不建议像这样弄乱全局命名空间;这只是为了演示。

于 2012-09-19T17:39:58.903 回答
3

你真的不能,变量名(identifierseval )在一个范围内是静态的(只要你不使用)。

但是,您可以轻松地为此使用对象。使用变量名访问它们的属性很容易,使用括号表示法

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

如果您需要一个全局变量,您可以通过将其作为全局对象的属性来访问(在浏览器中:)window

variable = "someval";
var name = "variable";
window[name]; // "someval"
于 2012-09-19T17:35:35.417 回答