2016-03-15 8 views
5

Я сам изучаю javascript. Существует путаница с некоторыми javascript,javascript operator operator confusion

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

Эти обе линии могут быть использованы в объекте json без каких-либо ошибок. Но когда я использую эти строки вне объекта json, вторая строка («orranges»: 6;) получает ошибку. Почему это ? И почему не дает ошибку для первой строки (Яблоки: 5;), есть ли способ, которым я могу использовать его вне объекта json?

+1

Обязательно: http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/. –

+0

Связанные и, возможно, дубликаты: ['[javascript] colon'] (https://stackoverflow.com/search?q=%5Bjavascript%5D+colon). Пожалуйста, используйте поиск, прежде чем задавать новый вопрос. –

ответ

7

: не является оператором, он является частью синтаксиса ярлыков.

См MDN

label :
statement

этикетки
Любой идентификатор JavaScript, который не является зарезервированным словом.

apples - это идентификатор.

"orranges" является строковым литералом.

Есть ли способ, которым я могу использовать его вне объекта json?

Вы, кажется, запутываете JSON с синтаксисом объекта literal.

Вы не можете использовать : в качестве символа, который отделяет имя свойства от значения в объекте, когда вы не находитесь в процессе определения объекта.