Как и во многих других языках программирования, программа (сценарий) на языке JavaScript — это текст, состоящий из
операторов,
блоков, т. е. взаимосвязанных наборов операторов, и
комментариев. Операторы могут содержать
переменные,
константы и
выражения. Следующий пример начинается с определения функции, которое состоит из блока, содержащего два оператора. За определением следуют два оператора, не образующих блока.
function convert(inches) {
cm = inches * 2.54; // Эти два оператора заключены в блок.
meters = inches / 39.37;
}
convert(inches); // Эти два оператора не образуют блока.
km = meters / 1000;
Как мы видим из этого примера, каждый оператор JavaScript начинается с новой строки (что не обязательно, но рекомендуется) и заканчивается точкой с запятой (что также не обязательно, если оператор является последним в строке).
Блок — это набор операторов, заключенный в фигурные скобки
{}.
Строка сценария, содержащая только точку с запятой, считается пустым оператором, т. е. оператором, не выполняющим никакого действия. Тем не менее, в некоторых случаях использование пустого оператора удобно, например:
while (i--) // Цикл состоит в уменьшении i до нуля,
; // поэтому его телом является пустой оператор.
Для удобства чтения программы и форматирования ее текста могут использоваться
символы пробела. Эти символы игнорируются всюду, кроме строковых констант и регулярных выражений, в которых они являются значимыми. Символами пробела в JavaScript считаются следующие символы Unicode:
- пробел (\u0020);
- табуляция (\u0009);
- вертикальная табуляция (\u000B);
- перевод формата (\u000C);
- неразрывный пробел (\u00A0).
Символы разрыва строки также используются для форматирования текста, но они могут иметь значение и с точки зрения синтаксиса программы. Формальные правила использования разрывов строк в JavaScript довольно сложны, но на практике достаточно помнить только то, что обычно рекомендуется начинать новый оператор с новой строки. Символами разрыва строки в JavaScript считаются следующие символы Unicode:
- перевод строки (\u000A);
- возврат каретки (\u000D);
- разделитель строк (\u2028);
- разделитель абзацов (\u2029).