将2个变量合并为1个字符串,然后将该字符串视为变量

时间:2014-04-09 18:15:23

标签: javascript variables

我收到了这段代码:

var currentsettimevarstring = 'settimevar' + c, 
currentsettimevar = currentsettimevarstring;

我希望currentsettimevarstring的输出为settimevar1(或2,3,4等) 以及currentsettimevar的输出是变量settimevar1

的内容

如何做到这一点?

4 个答案:

答案 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];