Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript在变量名中有一个变量_Javascript_Html_Variables - Fatal编程技术网

JavaScript在变量名中有一个变量

JavaScript在变量名中有一个变量,javascript,html,variables,Javascript,Html,Variables,我有一个变量varName,它的内容是“myvar”。我想创建一个名为variable且内容为varName的变量,因此名称应为variablemyVar 我该怎么做?你可以这样做 window["variable" + varName] = 42; console.log(variablemyvar); // 42 这将使变量成为全局变量。您可以使用任何作用域(对象),而不是窗口 但是,您应该尽可能避免这样做。这样做的原因是这样的代码很容易破解——假设您想稍后重命名变量。很可能您会忽略这一点

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

我该怎么做?

你可以这样做

window["variable" + varName] = 42;
console.log(variablemyvar); // 42
这将使变量成为全局变量。您可以使用任何作用域(对象),而不是
窗口

但是,您应该尽可能避免这样做。这样做的原因是这样的代码很容易破解——假设您想稍后重命名变量。很可能您会忽略这一点,即使IDE也会。另一个原因是代码缩微器将无法缩微,如果您将其设置为“侵略性”,它甚至会在缩微过程中破坏代码


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

此外,您可能想解释为什么不这样做是明智的,而不仅仅是将其作为事实陈述。我添加了一些原因。如果你有更多,请随意编辑:)喜欢在谷歌上搜索确切的标题会找到上面的副本。:)
var myObject = {
    someOtherVariable: 1337
};

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