Как и во многих других языках программирования, программа (сценарий) на языке 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).