2013-08-29 62 views
0

一樣,我有這樣的條件:是否可以劃分JavaScript變量?

var a="avar", b=3; 
var a+b="some value"; 
// expecting to make, avar3="some value"; 

是否有可能以某種方式? 或者其他方式?

+1

你試過嗎?你發現了什麼? – xbonez

+0

我不這麼認爲,你可以做到這一點 –

+0

它什麼也沒有顯示 –

回答

5

你可以這樣做:

var a="avar", b=3; 
window[a+b]="some value"; 

這將聲明一個全局變量avar3與價值"some value"

+2

重要的是要注意,在這裏,'window'指的是全局對象。在瀏覽器中,它是'window',但是它可能不一定會傳遞給其他JavaScript應用程序(例如Node.js)。 –

+0

正是我想要的:)謝謝 –

0

可以使用對象的屬性這樣的事情

var obj = { a: 'avar', b:'3'}; 
obj[obj.a+obj.b]='some value'; 
console.log(obj.avar3); //the output is 'some value' 

http://jsfiddle.net/fGaFJ/

1

否不這樣工作。

我不知道如果這個,如果你正在嘗試做的,但什麼:

變種C = A + B; c =「某個值」;

2

此:

function ns() { return this; } 

var a="avar", b=3; 
ns()[a+b] = "some value"; 

alert(avar3); 

將創建一個變量,在當前的命名空間名稱 「avar3」。

相關問題