JavaScript在变量名中有一个变量

时间:2013-10-18 16:23:58

标签: javascript html variables

我有一个变量varName,其内容为“myvar”。我想创建一个名为variable且内容为varName的变量,因此名称为variablemyVar

我该怎么做?

1 个答案:

答案 0 :(得分:6)

你可以做到

window["variable" + varName] = 42;
console.log(variablemyvar); // 42

这将使变量成为全局变量。您可以使用任何范围(对象),而不是window,而不是{/ p>

var myObject = {
    someOtherVariable: 1337
};

myObject["variable" + varName] = 42;
console.log(myObject.variablemyvar); // 42

但是,你应该尽可能避免这样做。这样做的原因是像这样的代码很容易 - 比如说你想稍后重命名变量。很可能你会忽略这一点,即使是IDE也会。另一个原因是代码缩小器将无法缩小这一点,如果将它们设置为“激进”,它甚至会在缩小时破坏代码。

最后,特别是使用带有window的第一个示例,全局变量被认为是不好的做法,无论你如何声明它们都应该始终避免。