[英]Javascript - access the value of variables with dynamic name refereed
这里的Noob问题:)有没有办法在javascript中访问动态引用的变量名的值?
我尝试了什么:
var var1 = "foo";
var var2 = "bar";
var i = 1;
i++;
console.log(`var${i}`); // give me "var2"
console.log(typeof `var${i}`); // == srting`
我想访问值“foo”或“bar”,但我错过了一些东西,因为我只得到变量的名称?
关于堆栈的第一个问题,如果它不完美,请告诉我我会添加细节,谢谢!
如果变量是在全局范围内定义的,则它们是窗口对象的属性。
var var1 = "foo"; var var2 = "bar"; var i = 1; i++; console.log(window[`var${i}`]);
可能更好的方法是创建数据对象并将变量存储为其属性。
var data = {}; data.var1 = "foo"; data.var2 = "bar"; var i = 1; i++; console.log(data[`var${i}`]);
您可以使用eval执行动态代码。
var var1 = "foo"; var var2 = "bar"; var i = 1; i++; console.log(eval('(var' + i + ')')); // give me "var2" console.log(eval('(typeof(var' + i + '))')); // == srting`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.