Нижеследующее выражение демонстрирует простейшие
арифметические операции:
5 + 4-6/3*2
Символ «+» в числовом контексте обозначает операцию сложения, «-» — знак
вычитания, «/»— символ операции деления и, наконец, «*»— знак
умножения.
(Как мы помним, в строковом контексте знак «+» соответствует операции
конкатенации — слияния, объединения — строк.)
Значением вышеприведенного выражения будет число 5 — все, как в
привычной школьной арифметике. Операции имеют различные приоритеты:
вначале выполняется деление и умножение, затем — сложение и вычитание.
Иначе говоря, операции деления и умножения имеют более высокий
приоритет, чем операции сложения и вычитания. Между собой операции сложения и
вычитания имеют одинаковый приоритет, равно как и операции умножения и
деления имеют один и тот же приоритет.
Знаки операций (а для ряда операций — особые ключевые слова) называются
операторами, а литералы и переменные, участвующие в выражениях (то, над
чем осуществляются операции) — операндами. Впрочем, операндами могут
называться и целые выражения, участвующие в более сложных выражениях.
Если необходимо изменить приоритет операций, нужно воспользоваться
скобками:
(5 + 4-6) /3*2
Очевидно, значением этого выражения будет число 2. А следующее
выражение имеет значение 0,5:
(5 + 4-6) / (3*2)
(Дробные числа в JavaScript записываются не через запятую, как принято в
русскоязычной типографской традиции, а через точку: var pi = 3.14159265.)
Выражения могут принимать не только числовые и строковые, но и другие
типы значений -— например, булевы. Такие выражения весьма полезны при
проверке различных условий, сравнении значений и т. д.
Некоторые логические операции, операции сравнения и проверки
равенства/неравенства в порядке убывания приоритета представлены в табл. 7.1.
Глава 7. Создание интерактивных сайтов при помощи языка сценариев JavaScript 345
Таблица 7.1. Наиболее часто используемые логические операции, операции
сравнения и проверки значений в JavaScript
Приоритет
Самый
высокий
Высокий
Средний
Низкий
Самый
низкий
Оператор
i
>
>=
==
! =
&&
I I
Описание операции
Логическое «НЕ» (отрицание). Если а принимает
значение true, то ! а примет значение false, и наоборот
Проверка условия, что левый операнд меньше правого.
Выражение а
переменной а меньше значения переменной Ь.
В противном случае выражение примет значение false.
Операция может применяться как в числовом, так и в
строковом контексте— строки сравниваются с учетом
алфавитного порядка. Сказанное относится ко всем
аналогичным операциям, описанным ниже
Проверка условия, что левый операнд меньше либо
равен правому
Проверка условия, что левый операнд больше правого
Проверка условия, что левый операнд больше либо
равен правому
Проверка условия, что левый операнд в точности равен
правому
Проверка условия, что левый операнд не равен правому
Логическое «И» (конъюнкция). Выражение а && b примет
значение true тогда и только тогда, когда оба операнда
а и ь принимают значение true. В противном случае
выражение принимает значение false
Логическое «ИЛИ» (дизъюнкция). Выражение а | | ь
примет значение true, если хотя бы один из операндов а
или b имеет значение true. В противном случае
выражение примет значение false
Если говорить о приоритетах обсуждавшихся выше арифметических
операций по отношению к операциям, представленным в таблице, то они занимают
два «этажа» между «высоким» и «самым высоким» в нашей
импровизированной классификации.
Обсудив основные операции, мы вплотную подошли к условным операторам
JavaScript.
Оператор if выполняет следующий за ним оператор (или составной
оператор— несколько команд, заключенных в фигурные скобки) только в том
случае, если проверяемое выражение истинно, т. е. принимает значение true.
346 Часть II. Применение веб-технологий стороны клиента для создания сайтов
Й11Я1ж^ Использование условного оператора
var birth_year = window.prompt(‘ В каком году вы родились?’, »);
if(birth_year
{
window.alert(!Так долго не живут!’);
}
Вышеприведенный скрипт, будучи внедренным в веб-страницу, первым
делом спросит у пользователя: «В каком году вы родились?» (рис. 7.4) при
помощи диалогового окна, формируемого благодаря вызову метода prompt
объекта window. (Этот объект соответствует текущему окну браузера и
предоставляется объектной моделью последнего.)
Getting Started* Ш Ь&
МПри/ш>»и:итг
Ж1
ВЩ
Г~
Jkiv
OK
фЦ
*УШ1
I
&щ
Отмена j —
a2S33
‘[¦r^7^
Рис. 7.4.
5th Фев 2011
|
Теги:
|