0

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

像这样:var i10或者如果A = 2,我想创建一个像这样的变量var i2

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

编辑:更多信息

4

5 回答 5

3

这是可能的,正如关于 SO 的这个问题中详细解释的那样。

A = 10;
B = 5;

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

alert(A10B5);
// alerts: Hello

请参阅此 jsfiddle中的演示。

不过,我看不到它的意义,因为您必须保留对该对象名称的引用,因此将值存储在始终具有相同名称或使用数组的函数或对象内的局部变量中会更容易存储值。

针对预期用途的建议解决方案:

使用二维数组:

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

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

于 2013-08-02T08:03:04.787 回答
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);
于 2013-08-02T08:07:00.083 回答
1

您可以使用 eval() 函数创建动态变量

var a = 10;
eval("variable" + a + " = a");

这将返回一个名为“variable10”且值为“10”的变量。

也来这里看看吧!

更多信息:w3schools eval()

希望对你有帮助^_^

于 2013-08-02T08:12:30.400 回答
0

看一下这个

`a = '变量名';

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

评估(str);

警报(变量名);`

于 2013-08-02T08:16:06.397 回答
0

您可以在不同的变量中拥有A = 10相同B = A的金额,但是,您也可以制作一个 if 语句,如

if(A > 10){ A = 11 } 
于 2013-08-02T07:55:17.653 回答