是否可以根据多个变量的值创建变量?

时间:2013-08-02 07:53:11

标签: javascript

例如A = 10,我想创建一个带有值的变量。

像这样:var i10A = 2,我想创建一个像var i2这样的变量。

例如A = 10B = 5,我想要一个var A10B5,这可能吗?

编辑:更多信息

5 个答案:

答案 0 :(得分:3)

有可能,正如this question on SO中详细解释的那样。

A = 10;
B = 5;

window['A' + A + 'B' + B] = 'Hello';

alert(A10B5);
// alerts: Hello

查看this jsfiddle中的演示。

但是,我没有看到它的重点,因为你必须保留对该对象名称的引用,更容易将值存储在一个函数或对象中的局部变量中,该函数或对象具有相同的名称或使用数组来存储值。

拟议的预期用途解决方案:

使用二维数组:

Calendar[A][B] = 'value';

通过创建动态变量,每次需要访问变量时都必须重建变量的名称。通过使用二维数组,您可以将数组与两个变量一起使用,这样可以省去代码一遍又一遍地重建变量名称,使其更易于阅读和维护。

答案 1 :(得分:1)

var A = 10, B = 5;
window['A' + A + 'B' + B] = "You should avoid polluting global " + 
                            "scope at all costs.";
alert(A10B5);

相反,你应该求助于对象:

var myVars = {}, A = 10, B = 5;
myVars['A' + A + 'B' + B] = "Just like this.";
alert(myVars.A10B5);

答案 2 :(得分:1)

您可以使用eval()函数

创建动态变量
var a = 10;
eval("variable" + a + " = a");

返回名为“variable10”且值为“10”的变量。

也是look here

有关详细信息:w3schools eval()

希望它有所帮助^ _ ^

答案 3 :(得分:0)

您可以让A = 10B = A在不同的变量中使用相同的金额,但是,您也可以制作if语句,如

if(A > 10){ A = 11 } 

答案 4 :(得分:0)

check this out

`a ='varname';

str = a +'='+'123';

的eval(STR);

警报(VARNAME); `