提问者:小点点

“variable”JavaScript中的变量?


我知道在PHP中有可能有“variable”变量。 例如

$x = "variable";
$$x = "hello, world!";
echo $variable; // displays "hello, world!"

在JavaScript中,是否可以通过变量的名称将其作为字符串来引用? 会怎么做呢?


共3个答案

匿名用户

对此没有单一的解决方案(好吧,有eval,但让我们不要认真考虑)。 可以通过window动态地访问某些全局变量,但这对函数的本地变量不起作用。 不成为window属性的全局变量是使用letconst以及classES定义的变量。

几乎总有比使用可变变量更好的解决方案! 相反,您应该查看数据结构,并为您的问题选择正确的数据结构。

如果您有一组固定的名称,例如

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']

您可以设置和引用变量,也可以设置和引用变量中的对象。