2012-10-20 9 views
5

Eventuali duplicati:
What is the difference between object keys with quotes and without quotes?Chiavi oggetti JS con o senza virgolette?

è interesse, ciò che è giusto modo, scrivere chiavi oggetto tra virgolette o no? cioè

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

o

var obj = { 
    name: "Jhon" 
} 

per esempio, dal codice php echo json_encode(array("a"=>"aaa","b"=>"bbb")); risultato è oggetto che ha le chiavi con le citazioni. Ma per esempio vedi jquery animate, nella documentazione è chiavi senza virgolette, (Questo è anche formato oggetto JS, giusto?)

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

Quindi, qual è il modo più giusto?

+1

Buona lettura su JSON vs oggetto letterale: http://benalman.com/news/2010/03/theres-no-such-thing-as- a-json/ –

risposta

7

Non confondere l'oggetto JSON e l'oggetto letterale Javascript. L'oggetto JSON è fondamentalmente solo una stringa e la sua sintassi richiede di avere virgolette appropriate. Tuttavia, per le virgolette javascript dell'oggetto non sono necessarie le sue proprietà. Ma in alcuni casi è necessario utilizzarli, ad esempio:

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

O, giusto confondo gli oggetti JSOn e JS. Come ho capito, in ogni caso, è meglio scrivere le chiavi tra virgolette, quindi, grazie. – RIKI

+2

No, meglio non usare le virgolette. Davvero. Hai solo bisogno di questi caratteri extra nel caso in cui il nome della proprietà non sia un identificatore valido: "con spazio", "ciao-john", "123test", ecc. – dfsq

+0

Capito, grazie mille. – RIKI

Problemi correlati