P粉4941519412023-08-25 16:40:34
如果您迫切希望这样做,您可以尝试使用 eval():
var data = "testVariable"; eval("var temp_" + data + "=123;"); alert(temp_testVariable);
或者使用窗口对象:
var data = "testVariable"; window["temp_" + data] = 123; alert(window["temp_" + data]);
P粉8934570262023-08-25 11:49:08
tl;dr:不要'不要使用eval
!
对此没有单一的解决方案。可以通过窗口
动态访问一些全局变量,但这不适用于函数的本地变量。 不成为window
属性的全局变量是用let
和const
定义的变量,以及类。
几乎总是有比使用可变变量更好的解决方案! 相反,您应该查看 数据结构并为您的问题选择正确的数据结构。
如果您有一组固定的名称,例如
// BAD - DON'T DO THIS!!! var foo = 42; var bar = 21; var key = 'foo'; console.log(eval(key));