HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов
Шрифт:
var x = 1234;
Также можно объявить сразу несколько переменных:
var x, y, textColor = "black";
Вообще, объявлять переменные с помощью оператора var не обязательно. Мы можем просто присвоить переменной какое-либо значение, и JavaScript сам ее создаст. Просто явное объявление переменных оператором var считается хорошим стилем программирования.
Переменная, созданная в каком-либо Web-сценарии, будет доступна во всех остальных Web-сценариях, присутствующих в данной Web-странице. Об исключениях из этого правила мы поговорим потом.
ВНИМАНИЕ!
Если
Пока закончим с переменными. (Впоследствии, при рассмотрении функций, мы к ним еще вернемся.) И займемся операторами JavaScript.
Операторы
Операторов язык JavaScript поддерживает очень много — на все случаи жизни. Их можно разделить на несколько групп.
Арифметические операторы
Арифметические операторы служат для выполнения арифметических действий над числами. Все арифметические операторы, поддерживаемые JavaScript, перечислены в табл. 14.2.
Таблица 14.2. Арифметические операторы
Арифметические операторы делятся на две группы: унарные и бинарные. Унарные операторы выполняются над одним операндом; к ним относятся операторы смены знака, инкремента и декремента. Унарный оператор извлекает из переменной значение, изменяет его и снова помещает в ту же переменную. Приведем пример выражения с унарным оператором:
++r;
При выполнении этого выражения в переменной r окажется ее значение, увеличенное на единицу. А если записать вот так:
s = ++r;
то значение r, увеличенное на единицу, будет помещено еще и в переменную s.
Операторы инкремента и декремента можно ставить как перед операндом, так и после него. Если оператор инкремента стоит перед операндом, то значение операнда сначала увеличивается на единицу, а уже потом используется в дальнейших вычислениях. Если же оператор инкремента стоит после операнда, то его значение сначала вычисляется, а уже потом увеличивается на единицу. Точно так же ведет себя оператор декремента.
Бинарные операторы всегда имеют два операнда и помещают результат в третью переменную. Вот примеры выражений с бинарными операторами:
l = r * 3.14;
f = e / 2;
x = x + t / 3;
Оператор объединения строк
Оператор объединения строк + позволяет соединить две строки в одну. Например, сценарий:
s1 = "Java";
s2 = "Script";
s = s1 + s2;
поместит в переменную s строку JavaScript.
Операторы присваивания
Оператор присваивания = нам уже знаком. Его еще называют оператором простого присваивания, поскольку
a = 2;
b = c = 3;
Второе выражение в приведенном примере выполняет присвоение значения 3 сразу двум переменным — b и c.
JavaScript также поддерживает операторы сложного присваивания, позволяющие выполнять присваивание одновременно с другой операцией:
a = a + b;
a += b;
Два этих выражения эквивалентны по результату. Просто во втором указан оператор сложного присваивания +=.
Все операторы сложного присваивания, поддерживаемые JavaScript, и их эквиваленты приведены в табл. 14.3.
Таблица 14.3. Операторы сложного присваивания
Операторы сравнения
Операторы сравнения сравнивают два операнда согласно определенному условию и выдают (или, как говорят программисты, возвращают) логическое значение. Если условие сравнения выполняется, возвращается значение true, если не выполняется — false.
Все поддерживаемые JavaScript операторы сравнения приведены в табл. 14.4.
Пример:
a1 = 2 < 3;
a2 = -4 > 0;
a3 = r < t;
Переменная a1 получит значение true (2 меньше 3), переменная a2 — значение false (число –4 по определению не может быть больше нуля), а значение переменной a3 будет зависеть от значений переменных r и t.
Можно сравнивать не только числа, но и строки:
a = "JavaScript"!= "Java";
Переменная a получит значение true, т. к. строки "JavaScript" и "Java" не равны.
На двух последних операторах из табл. 14.4 — "строго равно" и "строго не равно" — нужно остановиться подробнее. Это операторы так называемого строгого сравнения. Обычные операторы "равно" и "не равно", если встречают операнды разных типов, пытаются преобразовать их к одному типу (о преобразованиях типов см. далее в этой главе). Операторы строгого равенства и строгого неравенства такого преобразования не делают, а в случае несовпадения типов операндов всегда возвращают false.
Пример:
a1 = 2 == "2";
a2 = 2 === "2";
Переменная a1 получит значение true, т. к. в процессе вычисления строка "2" будет преобразована в число 2, и условие сравнение выполнится. Но переменная a2 получит значение false, т. к. сравниваемые операнды принадлежат разным типам.
Логические операторы
Логические операторы выполняют действия над логическими значениями. Все они приведены в табл. 14.5. А в табл. 14.6 и 14.7 показаны результаты выполнения этих операторов.