2016-03-15 8 views
5

Sto imparando javascript da solo. C'è confusione con alcuni javascript,javascript colon confusione operatore

price = 14; 
name = "Mary"; 
apples:5; //This line executing without error 
"orranges":6; //This line getting error 
alert(name); 

Queste due righe possono essere utilizzate in un oggetto JSON senza errori. Ma quando sto usando quelle linee al di fuori dell'oggetto json, la seconda riga ("orranges": 6;) sta ricevendo errore. Perché ? E perché non dare l'errore per la prima riga (mele: 5;), esiste un modo per usarlo al di fuori dell'oggetto json?

+1

Obbligatorio: http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/. –

+0

Correlati ed eventualmente duplicati: ['[javascript] colon'] (https://stackoverflow.com/search?q=%5Bjavascript%5D+colon). Si prega di utilizzare la ricerca prima di fare una nuova domanda. –

risposta

7

: non è un operatore, fa parte della sintassi dell'etichetta.

Vedi MDN

label :
statement

etichetta
Qualsiasi identificatore JavaScript che non è una parola riservata.

apples è un identificatore.

"orranges" è una stringa letterale.

c'è un modo per usarlo al di fuori dell'oggetto json?

Sembra che tu stia confondendo JSON con la sintassi letterale dell'oggetto.

Non è possibile utilizzare un : come carattere che separa il nome di una proprietà da un valore in un oggetto quando non si è in fase di definizione di un oggetto.