Выбрать главу

};

Синтаксические конструкции, представленные выше и содержащие списки элементов массивов в квадратных скобках или отображения свойств объектов в значения внутри фигурных скобок, часто называют выражениями инициализации, которые будут рассматриваться в главе 4 «Выражения и операторы». Выражение - это фраза на языке JavaScript, которую можно вычислить, чтобы получить значение. Например, применение . и [ ] для ссылки на значение свойства объекта или элемента массива является выражением. Возможно, вы заметили, что в листинге, приведенном выше, в строках, содержащих только выражение, комментарии начинаются со стрелки (=>), за которой следует значение выражения. Этому соглашению мы будем следовать на протяжении всей книги.

Наиболее типичным способом формирования выражений в JavaScript является использование операторов, подобно тому, как показано ниже:

// Операторы выполняют действия со значениями (операндами) и воспроизводят

// новое значение. Наиболее часто используемыми являются арифметические операторы:

3+2      // => 5: сложение

3-2      // => 1: вычитание

3*2      // => 6: умножение

3/2      // => 1.5: деление

points[1].x - points[0].x // => 1: можно использовать более сложные операнды

"3" + "2"                 // => "32": + складывает числа, объединяет строки

// В JavaScript имеются некоторые сокращенные формы арифметических операторов

var count = 0; // Объявление переменной

count++;       // Увеличение значения переменной на 1

count--;       // Уменьшение значения переменной на 1

count += 2;    // Добавить 2: то же, что count = count + 2;

count *= 3;    // Умножить на 3: то же, что count = count * 3;

count          // => 6: имена переменных сами являются выражениями

// Операторы сравнения позволяют проверить два значения на равенство

// или неравенство, выяснить, какое значение меньше или больше, и т. д.

// Они возвращают значение true или false.

var х = 2, у = 3; // Знаки = выполняют присваивание, а не сравнение

x == y            // => false: равенство

x != y            // => true: неравенство

x < y             // => true: меньше

x <= y            // => true: меньше или равно

x > y             // => false: больше

x >= y            // => false: больше или равно

"two" == "three"  // => false: две разных строки

"two" > "three"   // => true: при упорядочении по алфавиту строка "tw” больше, чем "th"

false == (х > у)  // => true: false равно false

// Логические операторы объединяют или инвертируют логические значения

(х == 2) && (у == 3) // => true: оба сравнения истинны. && - "И"

(х > 3) || (у < 3)   // => false: оба сравнения ложны. || - "ИЛИ"

!(х == у)            // => true: ! инвертирует логическое значение

Если фразы в языке JavaScript называются выражениями, то полные предложения называются инструкциями; они рассматриваются в главе 5 «Инструкции». В программном коде, приведенном выше, строки, заканчивающиеся точками с запятой, являются инструкциями. (В примере ниже можно увидеть инструкции, состоящие из нескольких строк, которые не завершаются точками с запятой.) Между инструкциями и выражениями много общего. Грубо говоря, выражение - это конструкция, которая вычисляет значение, но ничего не делает: она никак не изменяет состояние программы. Инструкции, напротив, не имеют значения (или их значение не представляет интереса для нас), но они изменяют состояние программы. Выше уже были показаны инструкции объявления переменных и присваивания значений. Еще одной обширной категорией инструкций являются управляющие конструкции, такие как условные инструкции и инструкции циклов. Примеры этих инструкций будут показаны далее, после того, как мы познакомимся с функциями.

Функция - это именованный и параметризованный блок программного кода JavaScript, который определяется один раз, а использоваться может многократно. Формальное знакомство с функциями мы отложим до главы 8 «Функции», однако, как и в случае с объектами и массивами, мы много раз встретимся с функциями, прежде чем доберемся до этой главы. Ниже приводятся несколько примеров простых функций: