我收到了这段代码:
var currentsettimevarstring = 'settimevar' + c,
currentsettimevar = currentsettimevarstring;
我希望currentsettimevarstring
的输出为settimevar1
(或2,3,4等)
以及currentsettimevar
的输出是变量settimevar1
如何做到这一点?
答案 0 :(得分:1)
您应该可以使用eval:var currentsettimevar = eval('sitetimevar' + c)
请注意,使用eval可以be a bad idea.
答案 1 :(得分:1)
如果settimevar
变量是全局变量,您可以使用window
作为关键字在currentsettimevarstring
对象上引用它们:
var currentsettimevar = window[currentsettimevarstring];
如果它们不是全局变量,那么您可能需要考虑将它们存储在数组中,或者作为可以通过键引用的对象的属性。
var settimevar = ['a', 'b', 'c', 'd', 'e'];
var c = 5;
var currentsettimevar = settimevar[c - 1];
答案 2 :(得分:0)
这是duplicate。
基本上,javascript有一个全局范围,你可以使用'window'变量访问,并像定义任何其他集合一样索引定义的变量。
var c = 5;
var settimevar5 = "Some String";
var currentsettimevarstring = 'settimevar' + c,
var currentsettimevar = window[currentsettimevarstring];
currentsettimevar现在应该是“Some String”
答案 3 :(得分:0)
改为使用数组:
var settimevar = ['value1', 'value2', 'value3'],
c = 0, /* for example */
currentsettimevar = settimevar[c];