2010-11-22 15 views
0

これは可能ですか?Javascript:これは可能ですか?

var [a+b] = something; 

:私が定義されています。例:「オブジェクト」

b:は変数です。例: "2"

+0

あなたは何をしようとしているのですか? aをbに追加しますか? –

+0

はい私はaとbをマージしようとしています – Adam

+0

彼はaとbを連結して変数に名前を付けようとしているのでしょうか? – Savageman

答えて

2

達成しようとしていることがわかりません。文字列を大括弧で囲むだけで変数を作成することはできませんが、大括弧を使用して名前/値のペアをオブジェクトに追加することができます。たとえば、あなたがmyNewObjオブジェクトには、この値を追加したい場合は、このような何かを行うことができます。私はここで間違っている場合

var myNewObj = {}; 
myNewObj[ a + b ] = something; 
+0

ええとこれの後、私はこのように呼ぶことができましたか? 'myNewObj.ab'? – Adam

+0

あなたはこの方法ではアクセスできません: 'myNewObj [a + b]'。 – Savageman

+0

hmm ..:D私はそれを試してみましょう。 – Adam

2

ローカルについてはわかりませんが、グローバルの場合はwindow[a+b]を使用して変数にアクセスできます。

2

が私を撃墜していますが、動的に定義しようとしているように見えるあなたのあなたが持っているかもしれない変数名

var myVar1 = something; 
var myVar2 = something; 

など。

AFAIKこれはJavaScriptや宣言的な言語では実行できません。より良いアプローチは、このインスタンスで配列を使用することです。あなたが求めているアプローチを必要とする実際の動機は何ですか?

+0

Lol誰もあなたを撃たないでしょう!:しかし、私はあなたが正しいと思っていません。ウィンドウオブジェクトでは簡単に可能ですが、 :)これらの変数を定義するには最良の方法でしょう:) – Adam

1

上記のコードスニペットに構文エラーがあるとは思えません。あなたの質問は、アレイ内の動的な場所に何かを割り当てることですしかし、もし、あなたは、あなたが何かに値を設定しようとしている場合、それ

var a = 5; 
var array = []; 

function someFunction(b){ 
    array[a+b] = 'hello' 
} 


someFunction(5); 
alert(array[10]); 
2

以下のサンプルコードに従って行うことができますobj[a+b] = "something"として

var obj = {}; 
obj[a] = {}; 
obj[a][b] = "something"; 

として不足していないが、それは

いるので、より信頼性の高いです: abの組み合わせを表し、なぜような何かをしません
a = "object" 
b = "2" 

と、

a = "objec" 
b = "t2" 

は、私は本当にここにあなたの目的を理解していないが、あなたはこの書くことができ、ここでみんなの残りの部分としてobj[a+b]

+0

彼が達成しようとしていることはよく分かりませんが、これが最良の解決策だと私は感じています。 – Savageman

1

を使用して区別できない:

var a ='te'; 
var b = 'st'; 
eval ('(' + a + b + ' = 3)'); 
alert (test); 
関連する問題