[“var”+1] = someValue - 可以这样做吗?

时间:2010-12-01 20:26:19

标签: javascript dynamic-variables

function giveValue(n){
    ["r"+n]=5;
}
giveValue(10);

你明白了。

关键是我有一些名称相似的变量,最后只有一个数字不同。使用switch语句可以很好地使用几个变量,但对于这个特定的项目,它让我发疯。我知道我能做到:

var r2="lol";
var someVar=eval("r"+2);
//someVar=="lol"

我想知道我是否可以做这样的事情但是动态引用了作业的左边。

有可能吗?

2 个答案:

答案 0 :(得分:3)

如果您真的想要这样做,这应该有效:

function giveValue(n){
    window['r'+n] = 5;
}
giveValue(10);

console.log(r10)

但请,不要做!

你真的应该use arrays

答案 1 :(得分:2)

最好的方法是创建一个名为r的数组:

var r = [];
r[2] = 5;