Jak uzyskać wartość klucza a i "a" w javascript?Jak uzyskać wartość klucza ai "a" w javascript
var obj = {a:1,'a':2}
Jak uzyskać wartość klucza a i "a" w javascript?Jak uzyskać wartość klucza ai "a" w javascript
var obj = {a:1,'a':2}
pierwszego klucza a
zostanie zastąpiony przez drugi 'a'
.
obj.a
powróci 2.
Jeśli klucz nazwa jest poprawnym identyfikatorem JavaScript lub liczbą, JavaScript będzie można pominąć cytaty w kluczowych nazwisk. W praktyce jednak lepiej jest szkolić się, aby zawsze używać cytatów, aby uniknąć takich nieporozumień, a także dlatego, że JSON ich wymaga.
Nie ma żadnej różnicy.
alert([
obj.a,
obj['a']
].join("\n")); // returns 2 in both cases
Nie można - są to te same klucze, a inicjator utworzy obiekt z pojedynczym elementem "a" o wartości "2". Spróbuj tego:
var obj = {a:1,'a':2};
for (var i in obj)
{
alert(i + '=' + obj[i]);
}
A ty po prostu „a = 2' w odpowiedzi
Jeśli nie wiesz o klucz - użyj iteracja
for(var k in obj)
alert(k + "=" + obj[k])
Jeśli znasz dokładną wartość klucza. użyj obj [k]
oczywiście, 'a'
jest ciągiem jednoliterowym z małą literą a jako treścią, ale czego oczekujesz od drugiego klawisza? jeśli chcesz, aby była to wartość zmiennej o nazwie a
, wtedy składnia nawiasów klamrowych nie pomoże. W przeciwieństwie do Pythona, ta składnia zakłada, że klucze są łańcuchami, a cytaty są opcjonalne.
Trzeba by zrobić coś takiego:
var a = 'givenkey'
var obj = {}
obj[a] = 1
obj['a'] = 2
byłoby utworzyć obiekt odpowiadający:
var obj = {'givenkey':1, 'a':2}