2012-10-20 12 views
5

Mögliche Duplizieren:
What is the difference between object keys with quotes and without quotes?JS-Objektschlüssel mit oder ohne Anführungszeichen?

Ist Interesse, was ist richtig, Objektschlüssel in Anführungszeichen schreiben oder nicht? das heißt

var obj = { 
    "name": "Jhon" 
} 

oder

var obj = { 
    name: "Jhon" 
} 

zum Beispiel von PHP-Code echo json_encode(array("a"=>"aaa","b"=>"bbb")); Ergebnis ist das Objekt, die Schlüssel mit Zitaten hat. Aber siehe zum Beispiel jquery belebte, in der Dokumentation ist Schlüssel ohne Anführungszeichen, (Dies ist auch JS Objektformat, nicht wahr?)

   $("#someElement").animate({ 
        marginLeft: "200px" 
       }, 
       { 
        duration: 1000 
       }); 

Also, was ist richtig?

+1

Gut zu lesen über JSON vs Objektliteral: http://benalman.com/news/2010/03/theres-no-such-thing-as- a-json/ –

Antwort

7

JSON-Objekt und Javascript-Objektliteral nicht verwechseln. Das JSON-Objekt ist im Grunde genommen nur eine Zeichenkette und seine Syntax erfordert korrekte Anführungszeichen. Für JavaScript-Objekte sind jedoch keine Anführungszeichen um ihre Eigenschaften erforderlich. Aber in einigen Fällen müssen Sie sie verwenden, zB:

var test = { 
    "with spaces": 12 
} 
+0

O, rechts Ich verwechsle JSOn und JS-Objekte. Wie ich jedenfalls verstand, ist es besser, Schlüssel in Anführungszeichen zu schreiben, also danke. – RIKI

+2

Nein, besser, keine Anführungszeichen zu verwenden. Wirklich. Sie benötigen diese zusätzlichen Zeichen nur dann, wenn der Eigenschaftsname nicht gültig ist: "mit Leerzeichen", "Hallo-John", "123test" usw. – dfsq

+0

Verstanden, vielen Dank. – RIKI

Verwandte Themen