2009-09-09 9 views

答えて

17

最初のキーaは、第'a'によって上書きされます。

obj.a

は2

あなたのキー名は、有効なJavaScript識別子または数値の場合は、Javascriptが使用すると、キー名に引用符を省略することができます戻ります。実際には、このような混乱を避けるために、引用符を使用するように、またJSONが必要とするため、引用符を使用するように自分自身を鍛える方がよいでしょう。

1

違いはありません。

alert([ 
    obj.a, 
    obj['a'] 
].join("\n")); // returns 2 in both cases 
7

これらは同じキーであり、その初期化子は値 '2'を持つ単一の要素 'a'を持つオブジェクトを作成しません。

var obj = {a:1,'a':2}; 

for (var i in obj) 
{ 
    alert(i + '=' + obj[i]); 
} 

をそして、あなたはただ、A = 2' 応答で」買ってあげる

2

キーについてあなたわからない場合 - あなたはキーの正確な値を知っている場合は、反復

for(var k in obj) 
    alert(k + "=" + obj[k]) 

使用:これを試してみてください。 obj [k]

3

明らかに、'a'は、小文字のaを内容とする1文字の文字列ですが、それを0と呼ばれる変数の値にするにはどうしますか?の場合、中括弧の構文は役に立ちません。 Pythonとは異なり、この構文はキーが文字列であるとみなし、引用符はオプションです。

あなたはこのような何かをする必要があると思います:

var a = 'givenkey' 
var obj = {} 
obj[a] = 1 
obj['a'] = 2 

これは、オブジェクトに相当を作成します。

var obj = {'givenkey':1, 'a':2} 
関連する問題