Точка с запятой в JavaScript представляет собой конец оператора, но поскольку в JavaScript есть правила автоматической вставки точки с запятой, ее очень легко размыть. В обычных обстоятельствах новая строка генерирует точку с запятой, но в действительности ситуация не такова. скажем, точка с запятой может генерироваться, а может и не генерироваться при разрыве строки в JavaScript. Будет ли точка с запятой вставлена автоматически, зависит в основном от верхней и нижней строк. Так что даже у опытных программистов иногда болит голова.
Существуют также соответствующие объяснения правил автоматической вставки точки с запятой в ECMAScript : пустые операторы, операторы переменных, операторы-выражения, операторы do- while, операторы continue, операторы прерывания, операторы return и операторы throw. Эти определенные операторы ECMAScript должны быть разделены символом The. номер заканчивается. Эти точки с запятой всегда могут присутствовать явно в тексте исходного кода. Для удобства эти точки с запятой в тексте исходного кода в некоторых случаях могут быть опущены. Другими словами, нет необходимости вводить жесткую точку с запятой в конце этих операторов. JavaScript автоматически вставит ее в конец оператора.
Если вы хотите узнать подробные правила автоматической вставки точки с запятой ECMAScript, вы можете просмотреть следующую ссылку:
Практика показывает истину. Взгляните на следующие примеры, и вы поймете, что автоматическая расстановка точек с запятой не так уж и неуловима. Небольшая неосторожность может вызвать у вас головную боль.
Убийство, вызванное возвращением
Ниже приводится цитируемое содержание: функциональный тест(){ |
Функция, возвращающая значение a+b, на первый взгляд выглядит нормально, но результат запуска оповещения не определен. Согласно правилам автоматической вставки точек с запятой, если после оператора возврата есть разрыв строки, точка с запятой будет вставлена автоматически, и ее легче понять, если возвращаемое значение отсутствует. Если вам нужно обернуть строку, вы можете сделать это:
Ниже приводится цитируемое содержание: функциональный тест(){ (функция (){ |
Две точки с запятой в заголовке оператора for не вставляются автоматически.
Ниже приводится цитируемое содержание: for( var a=1,b=10 // Точка с запятой не будет вставлена автоматически |
В ECMAScript также есть объяснение вышесказанному: интерпретация точек с запятой как пустых операторов и отсутствие автоматической вставки точек с запятой в () в операторах for являются особыми случаями и не регулируются правилами автоматической вставки.
Хотя JavaScript является слабо типизированным языком, правила автоматической вставки точки с запятой в ECMAScript сложны для понимания. Однако, выработав хорошие привычки написания кода, расставляя точки с запятой вручную и сформировав привычку, вы сможете избежать этих проблем. В то же время это будет большим подспорьем для вас и других при отладке программ и чтении кода.
В то же время ECMAScript также дает программистам несколько советов:
++ или — должны находиться в той же строке, что и его операнды.
Выражение в операторе return или throw должно располагаться в той же строке, что и return или throw.
Метки в операторах разрыва или продолжения должны располагаться на той же строке, что и операторы разрыва или продолжения.