2010-12-01 115 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;