2016-08-03 7 views
1

Я изучаю w3schools относительно размещения точки с запятой, и они сказали: «Всегда заканчивайте простой оператор точкой с запятой». И: «Не заканчивайте сложную инструкцию точкой с запятой». Они не определили, какая разница между простым и сложным выражением и тщательный онлайн-поиск не дал ответа. Поэтому меня все еще путают с местами размещения с запятой в JavaScript. Поблагодарили бы за любую помощь. Благодаря!Разница между простым и сложным выражением - Javascript

Ссылка: http://www.w3schools.com/js/js_conventions.asp Он находится под заголовком: «Заявление» Правила

+1

предоставить ссылку на страницу, вы цитируете. вообще говоря, вы просто положили точку с запятой в конце инструкции. есть несколько мест, где они не требуются, например, после определения функции, но даже если вы добавили один после функции, это ничего не сломает. если вы смущены тем, принадлежит ли точка с запятой, попробуйте. Кроме того, рассмотрите возможность использования веб-сайта MDN для изучения javascript вместо 3wschools. w3s имеет тенденцию давать неадекватные описания и примеры. –

+0

Я не знаю, правильно ли разместить ссылку на документацию SO в качестве ответа или нет, но есть статья о [Автоматическая точка с запятой] (http://stackoverflow.com/documentation/javascript/4363/automatic-semicolon -insertion-asi # t = 201608031320000905945) – BSMP

+0

Как сказал Памлам, w3schools сомнительны, есть * много * лучших ресурсов. –

ответ

1

Сложное высказывание представляет собой последовательность («простых») операторов внутри {}.

Таким образом, вы бы написать (простое утверждение):

a = 3; 

и (комплексное утверждение, на многих языках называется составным, в JavaScript называется BLOCK)

{ 
    a = 3; 
    b = 4; 
} 

но не

{ 
    a = 3; 
    b = 4; 
}; 
+1

Как и в ES 6, больше не верно, опускание ';' после определения функции стрелки является синтаксической ошибкой. –

+1

На самом деле лучше назвать ** блок **, который является стандартным термином. «Compound statement» используется в других языках программирования, но нигде не встречается в спецификации JS. –

+0

@ JaredSmith Не уверен, что вы имеете в виду. Вы имеете в виду краткую форму тела функции стрелки? Это не утверждение, а выражение ** **. –

0

Сложная заявка относится к блокам, как в if, for, while и т.д.

if(condition){ 

} //no semicolon 

Простое утверждение:

var x = 2; 
+1

Сложное утверждение (которое является неправильным и запутанным термином, не используемым в JS) не должно быть ничем. Он может сидеть там сам по себе. –