2010-12-01 142 views
0
function giveValue(n){ 
    ["r"+n]=5; 
} 
giveValue(10); 

你明白了。[“var”+1] = someValue - 可以这样做吗?

问题是我有一些类似名称的变量,只在最后一个数字中变化。几次使用switch语句都可以使用几个变量,但是对于这个特定的项目而言,这让我发疯。我知道我可以这样做:

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

我想知道我是否可以做这样的事情,但动态参考左侧的作业。

这可能吗?

+0

数组有什么问题?输入`r [2]`而不是`r2`真的难吗? – 2010-12-01 20:27:28

+0

我们只是说这太迟了。 – navand 2010-12-01 20:29:26

+0

这不是eval()的意图。 – Babiker 2010-12-01 20:29:38

回答

3

如果你真的要做到这一点,这应该工作:

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

console.log(r10) 

但请请勿做它!

你真的应该use arrays

2

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

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