我知道在PHP中有可能有“variable”变量。 例如
$x = "variable";
$$x = "hello, world!";
echo $variable; // displays "hello, world!"
在JavaScript中,是否可以通过变量的名称将其作为字符串来引用? 会怎么做呢?
对此没有单一的解决方案(好吧,有eval
,但让我们不要认真考虑)。 可以通过window
动态地访问某些全局变量,但这对函数的本地变量不起作用。 不成为window
属性的全局变量是使用let
和const
以及class
ES定义的变量。
几乎总有比使用可变变量更好的解决方案! 相反,您应该查看数据结构,并为您的问题选择正确的数据结构。
如果您有一组固定的名称,例如
null
// BAD
var foo = 42;
var bar = 21;
var key = 'foo';
console.log(eval(key));
如果您迫切需要这样做,您可以尝试使用eval():
var data = "testVariable";
eval("var temp_" + data + "=123;");
alert(temp_testVariable);
或使用窗口对象:
var data = "testVariable";
window["temp_" + data] = 123;
alert(window["temp_" + data]);
http://www.hiteshagrawal.com/javascript/dynamic-variables-in-javascript
若要仅用字符串引用javascript中的变量,可以使用
window['your_variable_name']
您可以设置和引用变量,也可以设置和引用变量中的对象。