Только раньше}, после одного или нескольких разрывов линии, и вставлен конец ввода программы
То есть вы можете опустить только полуколоны, где заканчивается строка, блок кода и часть программы.
То есть вы можете написать следующий код
Кода -копия выглядит следующим образом:
Функция Square (x) {
var n = +x
возврат n * n
}
Но он не может быть записан как следующий код, поэтому он сообщит об ошибке
Кода -копия выглядит следующим образом:
область функции (r) {r = +r return math.pi*r*r} // ошибка
Вставьте только в том случае, если последующие входные оценки не могут быть проанализированы
Другими словами, полуколоновая вставка является механизмом коррекции ошибок. Прочитайте код и говорите
Кода -копия выглядит следующим образом:
a = b
(f ())
// он может правильно разобраться в отдельном заявлении с ценой за единицу следующего оператора.
a = b (f ())
a = b
f ()
// Проанализировано на два независимых заявления
a = bf (); // анализ неверный
Таким образом, вы должны обратить внимание на начало следующего заявления, чтобы определить, можете ли вы на законных основаниях опустить полуколон.
(, [, +, -и /, тогда лучше не опустить полуколон перед ним.
Привести пример, чтобы проиллюстрировать
Кода -копия выглядит следующим образом:
a = b
['r', 'g', 'b']. foreach (function (key) {
console.log (ключ);
});
Первоначально вы думали, что ошибки не было, но анализатор проанализировался в следующем операторе
Кода -копия выглядит следующим образом:
a = b ['r', 'g', 'b']. foreach (function (key) {
console.log (ключ);
});
Поскольку второе предложение начинается с [анализатора, анализатор не будет автоматически вставлять полуколон после первого утверждения, поэтому он проанализируется, как показано выше. Разве B ['B']. Фореат неверен при анализе вышеуказанного уравнения?
Следовательно, если утверждения, начинающиеся с пяти символов (, [, +, -и / / / лучше не опустить полуколон перед ним.
Если вы хотите опустить полуколон, опытный программист будет следовать утверждению, чтобы гарантировать, что анализатор будет правильно анализировать. Как показано ниже
Кода -копия выглядит следующим образом:
a = b
var x // Заявление объявления специально добавлено здесь, чтобы убедиться, что A = B не будет проанализировано с помощью (f ())
(f ())
Поэтому, если вам нужно пропустить полуколон, вы должны проверить, является ли начальная отметка следующей строки приведенными выше пятью символами, в результате чего анализатор отключает автоматическую вставку полуколон, или вы также можете префиксировать пять символов (, [, +, и / / / /
Отказ от полуколонов вызывает проблемы с скриптом
Кода -копия выглядит следующим образом:
//file1.js
(function () {
// ...
}) ()
//file2.js
(function () {
// ...
}) ()
Когда два вышеупомянутых файла подключены, они будут проанализированы следующим образом
Кода -копия выглядит следующим образом:
(function () {
// ...
}) () (function () {
// ...
}) ()
Следовательно, пропущение полуколонов не только требует, чтобы вы были осторожны не только о следующей теге текущего файла, но и о любом теге, который может появиться после оператора после подключения сценария.
Чтобы избежать ошибок синтаксического анализа, вы можете префикс дополнительного полуколона в каждом файле, чтобы защитить скрипт от небрежных соединений. Если первоначальное утверждение файла переключается с 5 -х хрупким символом выше, вам следует добавить дополнительный полуколонный префикс.
Генерация ограничения синтаксиса JavaScript
Ограничение синтаксиса JavaScript Производство: не допускается разрывы линий между двумя символами.
Приведите пример:
Кода -копия выглядит следующим образом:
Возвращаться
{};
Вышеупомянутый код проанализируется в
Кода -копия выглядит следующим образом:
возвращаться;
{}
;
Правила введения полуколона для самообслуживания и самообслуживания операций
Кода -копия выглядит следующим образом:
а
++
беременный
Подумайте о том, во что будет проанализировано приведенный выше код? Давайте сообщим ответ, потому что оператор автоинсюрекса может использоваться как заданный оператор, так и оператор после расхода, но оператор после расчета не может появиться до разрыва линии, поэтому вышеупомянутый код разрабатывается в
Кода -копия выглядит следующим образом:
а;
++ b;
Полуолон не будет автоматически вставлен в качестве сепаратора в головке пустого оператора для цикла.
Кода -копия выглядит следующим образом:
для (var i = 0, total = 1
я <длина
i ++) {
общее*= i;
}
Коды, подобные вышеупомянутым, будут иметь ошибки анализа.
В то время как у пустого тела петли также необходимо отобразить полуколоны, в противном случае это также приведет к ошибкам разбора.
Кода -копия выглядит следующим образом:
Функция myTest () {
Пока (правда)
}
Должен быть написан следующим образом, чтобы избежать ошибок
Кода -копия выглядит следующим образом:
Функция myTest () {
в то время как (правда);
}
Давайте обобщусь
1. Выведите полуколоны только перед тегом}, в конце линии и в конце программы
2. Выведите полуколоны только тогда, когда нельзя проанализировать следующую оценку
3.
4. Когда сценарий подключен, явно вставьте полуколоны между сценариями
5.
6. Полуколон не может быть выведен в качестве разделителя для заголовка для цикла или пустого заявления.