JavaScript
JavaScript - язык подготовки сценариев, позволяющий сделать Web-страницы более интерактивными и функциональными. После его изучения вы сможете заниматься разработкой Web-приложений на качественно новом уровне. Для написания сценариев JavaScript обязательно требуется знание языка HTML. В этой главе вы получите первое представление о JavaScript еще до того, как начнете создавать свой первый сценарий.
Здесь приводится следующая информация:
Q важность изучения JavaScript; а история JavaScript;
а некоторые различия между языками подготовки сценариев и языками программирования; а инструменты, необходимые для написания сценариев JavaScript.
Использование JavaScript
Присмотритесь к сайтам, которые вы посещаете. На каждой странице содержится текст и некоторое количество картинок. Быть может, есть часы, показывающие время, или бегущий текст в строке состояния браузера. Возможно, на сайте имеется форма, которую нужно заполнить. Если пропустить какую-либо графу анкеты, то появится сообщение об ошибке. На некоторых страницах встречаются движущиеся по экрану изображения или текст, изменяющийся при щелчке мыши.
Таким образом, вы можете наблюдать JavaScript в действии, а создать подобные эффекты может любой человек, знающий этот язык. Причем без особого труда.
Рекомендация Следует понаблюдать за тем, что создают с помощью JavaScript другие разработчики. Это отличный способ найти свежее решение.
Прочитав эту книгу, вы не только освоите JavaScript (вместо того, чтобы просто копировать и вставлять в Web-страницу готовые сценарии), но и узнаете множество интересных идей, реализовать которые вы сможете сами - с помощью JavaScript.
Важность изучения JavaScript
Полезно изучить JavaScript хотя бы из-за его широкого распространения в сети. Огромное количество Web-страниц сделано с использованием сценариев (по самым разным причинам), и сайты без них кажутся блеклыми и скучными. Каким бы интересным не было содержание сайта, некоторые посетители сразу захотят уйти. Конечно, нет смысла оспаривать важность текстового содержания для любой Web-страницы, однако использование JavaScript не только улучшит подачу материала, но и сделает вашу страницу более запоминающейся.
Рекомендация Запомните: единственное, что отличает пользующиеся успехом сайты от неудачных, - их внешний вид. Чем интереснее оформлен сайт, тем он популярнее.
Предупреждение Остерегайтесь использования найденных в сети сценариев, предназначенных для копирования и вставки. Как правило, они не отличаются хорошим качеством и, что хуже всего, дублируются на тысячах сайтов. Изучение JavaScript избавит вас от такой практики и позволит создавать оригинальные запоминающиеся Web-страницы.
Можно найти еще множество причин для изучения и использования JavaScript. Сценарий всего в несколько строк помогает посетителям сайта отыскать страницу, соответствующую их браузеру и установкам, либо автоматически подсчитать сумму колонок в форме заказа. Подобные «мелочи» не рассчитаны на внешний эффект, но они свидетельствуют о высоком уровне профессионализма разработчика и знании им этики деловых отношений.
JavaScript в действии
Ознакомившись с этой главой, вы сможете наконец создать свой первый сценарий. Вы начнете осваивать азы JavaScript на конкретных примерах. На ваше рассмотрение предлагается следующее:
а основные понятия JavaScript, такие как синтаксис, разметка, комментарии и др.; а некоторые термины языка JavaScript и причины, по которым он относится
к объектно-ориентированным языкам программирования; Q создание и чтение сценария JavaScript; а использование JavaScript для вывода и ввода информации.
Ввод/вывод информации с помощью JavaScript
В этой главе приводятся образцы сценариев JavaScript. Тщательно проработайте каждый из них, вводя код с клавиатуры. Следует потренироваться на элементарных примерах, прежде чем переходить к более сложным.
Исследование возможностей ввода и вывода информации - это не только замечательный повод научиться создавать сценарии JavaScript, обеспечивающие двустороннюю связь с пользователем, но и прекрасное начало вашего профессионального пути.
В вычислительной технике все основано на вводе и выводе данных. Без этого ничего не происходит. Текстовый процессор не выполняет никаких действий, пока пользователь не введет какую-либо информацию (символы, набираемые на клавиатуре), и лишь затем эта информация отображается на экране, распечатывается или сохраняется на жестком диске.
Теперь вы научитесь как вводить информацию с помощью JavaScript, так и выводить ее в виде разнообразных окон сообщений. (Если вам приходилось блуждать по сети дольше нескольких минут, то вам они уже встречались.)
На рис. 3.1, 3.3 и 3.5 показаны окна сообщений трех типов в браузере Internet Explorer, а на рис. 3.2, 3.4 и 3.6 - в браузере Netscape Navigator.
Все эти окна созданы на языке JavaScript:
a Alert (Предупреждение) - служит для вывода информации;
a Confirm (Подтверждение) - предназначено для вывода информации и позволяет пользователю сделать выбор в форме ответа Да/Нет на вопрос;
a Prompt (Запрос) - служит для вывода информации и позволяет пользователю ввести ответ с клавиатуры.
Объекты, методы и свойства
Вы, вероятно, слышали о том, что JavaScript - объектно-ориентированный язык. Но что это означает? Чтобы это понять, вам следует ознакомиться с тремя терминами:
Q объекты;
а методы;
а свойства.
Сначала рассмотрим их в общих чертах. Чем дальше вы продвинетесь в изучении JavaScript, тем чаще вам придется ими пользоваться, так что более близкое знакомство оставим на будущее.
Объекты
Говоря простым языком, объект (object) - это какой-либо предмет. Подобно тому, как в реальном мире все одушевленные и неодушевленные предметы являются объектами (машины, собаки и пр.), объектами считаются и составляющие компьютерного мира.
Что касается JavaScript, его объекты находятся внутри браузера. Это, в частности, окно браузера, формы и их части, например кнопки и текстовые окна. В JavaScript также имеется собственная группа встроенных объектов, к которым относятся массивы, данные и т.д. Сейчас вам не обязательно фиксировать на этом внимание, поскольку все эти объекты будут рассмотрены позже. Пока вы должны усвоить лишь необходимые определения.
Именно благодаря наличию объектов язык JavaScript считается объектно-ориентированным. Язык организован вокруг объектов, а не действий, или, иначе говоря, ориентирован на данные, а не на логику. При объектно-ориентированном программировании первоочередное внимание уделяется объектам, с которыми производятся некоторые манипуляции, а не логическим правилам, необходимым для таких манипуляций. Преимуществом такого подхода является не только облегчение программирования (или написания сценария), но и в то, что каждое действие можно выполнить разными способами.
Методы
Метод (method) - это действия, которые может выполнять объект. В реальном мире у объектов тоже имеются какие-либо методы. Машины ездят, собаки лают, доллар покупается и т.д. В нашем случае alert () является методом объекта Window, то есть объект Window может выдавать пользователю какое-либо предупреждение в окне сообщений. Примерами других методов являются открытие и закрытие окон, нажатие кнопок. Здесь речь идет о трех методах: open (), close () и click (). Обратите внимание на круглые скобки. Они означают, что методы, в отличие от свойств, используются.
Свойства
У всех объектов имеются свойства (properties). Если вы и далее будете следовать аналогии с объектами реального мира, то обнаружите, что все предметы обладают какими-то свойствами: у машин есть колеса, а у собаки - шерсть. Что касается JavaScript, то у такого объекта, как браузер, имеется название и номер версии.
Управление данными с помощью переменных
В предыдущей главе вы научились использовать JavaScript для отображения на экране окон сообщений трех типов, служащих для ввода-вывода информации. Однако примеры сценариев, которые вы видели, не отличались гибкостью. Вы всего лишь дополняли сценарий сообщениями, которые хотели вывести на экран. Любой текст, помещенный в окне запросов, исчезал после щелчка по кнопке выбора. В данной главе вы узнаете, как изменить эту ситуацию. Здесь рассмотрено использование значений и переменных в JavaScript.
Значения в языке JavaScript
Самое ценное в нашем мире — это информация. Каждый фрагмент информации в JavaScript рассматривается как значение (value). Так как информация может быть очень разнообразной, имеются различные категории значений. Простейшие типы данных в JavaScript принято называть основными типами (primitive types).
Три основных типа данных:
а строка (string); а число (number); а булево выражение (boolean).
Строки
Возможно, самым распространенным типом данных является строка. Строка -связанный набор символов, включающий в себя буквы, знаки препинания и цифры. В JavaScript строки чаще всего представляют собой какой-либо текст:
Здравствуйте и добро пожаловать!
Кто вы?
Мой рост - шесть футов.
Строки, вставляемые в сценарий JavaScript, заключаются в двойные или одинарные кавычки, например:
"Здравствуйте и добро пожаловать!"
Причина использования двух типов кавычек заключается в том, что двойные кавычки (") могут содержаться внутри строки, заключенной в одинарные кавычки ('), и наоборот. Например:
"J'm 6 feet tall"
'"Кто вы?" - спросил он.'
Строка может и вовсе не содержать символов. В этом случае она называется пустой строкой и обозначается пустыми кавычками:
Числа
JavaScript воспринимает два типа чисел. Это целые числа (integer) и числа с плавающей точкой (floating-point number).
Целые числа
Включают в себя положительные целые числа, например 1,2,3, отрицательные целые числа, например -1, -2, -3 и нуль - 0.
Хотя большинство чисел, используемых в JavaScript, записываются в десятеричной системе счисления, могут применяться также восьмеричная и шестнадца-теричная системы.
Примечание В книге используется только десятеричная система счисления.
Числа с плавающей точкой
Числа с плавающей точкой представляют собой числа с дробной десятичной частью:
3.1415926535897932384626433832795
Либо это числа, выраженные в экспоненциальном виде:
3.76е2
Примечание При экспоненциальной записи числа символ <se» в верхнем или нижнем регистре означает «10 в степени»-.
Число, начинающееся с нуля и содержащее десятичную точку, считается числом с плавающей точкой.
Предупреждение Число, начинающееся с нескольких нулей и содержащее десятичную точку (например, 005.5) воспринимается как ошибка.
В табл. 4.1 приводятся примеры чисел, использующихся в JavaScript, чтобы вам проще было освоиться с ними.
Большие и маленькие числа
Таблица 4.1. Примеры чисел, использующихся в JavaScript
Число | Описание | Десятичный эквивалент |
91 | Целое число | 91 |
4.56е2 | Число с плавающей точкой | 456 |
0.001 | Число с плавающей точкой | 0.001 |
00.001 | Ошибка |
|
0.001 | Четыре равных числа | 0.001 |
.001 | с плавающей точкой |
|
1е-3 |
|
|
1.0е-3 |
|
|
Числа, используемые в JavaScript, могут быть как очень большими, так и очень маленькими. Под очень большими подразумеваются величины до 10308 (единица с тремястами восемью нулями), а под очень маленькими - Ю~308 (нуль целых с тремястами семью нулями и единицей после запятой).
Булевы выражения
Булевы выражения отличаются от строк и чисел тем, что могут принимать лишь два значения: true (истина) и false (ложь).
Булевыми эти выражения названы в честь английского математика Джорджа Буля (1815-1864).
Ниже помещены примеры булевых выражений:
Собака лает = true
У собаки пять ног = false
К булевым выражениям вернемся в главе 6, где будут рассматриваться выражения и условия. Пока вам нужно просто знать, что такой тип данных существует и может использоваться в JavaScript.
Особые типы данных: числа, неопределенные и неопределяемые выражения
Помимо рассмотренных типов данных, встречаются еще несколько основных, менее очевидных типов. Далее приводятся четыре числовых значения:
а положительная бесконечность;
О отрицательная бесконечность;
а положительный и отрицательный нуль;
а несуществующее число (not a number - NaN) .
Имеются еще два специальных типа данных:
а неопределенный (null);
а неопределяемый (undefined).
Что касается первых четырех типов, то вам не придется работать с ними (не будете же вы вводить в программу бесконечное число). Под несуществующим числом понимается результат бессмысленной математической операции (например, деления на нуль). Бесконечностью считается значение, превышающее 10308 (например, результат возведения 10300 в квадрат), и оно также не имеет для вас особого значения (если только не свидетельствует об ошибке).
Неопределенный тип может иметь только одно значение - null. В данном случае это свидетельствует о полном отсутствии полезной информации или каких-либо данных.
Понять, что такое неопределяемый тип данных, несколько сложнее. Здесь тоже возможно только одно значение (undefined), являющееся чаще всего тем же, что и null. В наиболее экстремальных случаях undefined становится плохим признаком (особенно если выдается в виде результата посетителю страницы) и свидетельствует о недочетах вашего сценария.
Переменные в языке JavaScript
Теперь, когда вам известно об используемых в языке JavaScript значениях, вы готовы к тому, чтобы войти в мир переменных (variable) JavaScript.
Переменные имеют огромное значение не только в JavaScript, но и во всех языках программирования. Без их использования трудно обойтись, а с их помощью вы сможете управлять всеми типами данных.
Переменная - это имя, присваиваемое ячейке памяти компьютера, которая хранит определенные данные во время исполнения сценария JavaScript. Возможно, это определение кажется несколько сложным, но на самом деле пользоваться переменными очень просто.
Создание переменных
В языке JavaScript переменные создаются довольно легко. Давайте вернемся к стандартному шаблону HTML, чтобы сразу ввести вас в курс дела:
<html>
<head>
<11Ь1е>Простая страница</(:И:1е>
<script language="JavaScript">
<!-- Маскируемся!
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Прежде всего нужно создать переменную. Это можно сделать двумя путями: объявив ее заранее или создав «на лету». Сначала будут рассматриваться переменные, объявляемые заранее. Позже в этой главе рассказывается, каким образом они создаются «на лету».
Пример. Чтобы объявить (создать) переменную, в языке JavaScript используется оператор var, вслед за которым указывается имя, которое вы хотите присвоить переменной. В данном примере объявляется переменная под названием msg:
<html>
<head>
<Ь1(:1е>Простая страница</{:1(;1е>
<script language="JavaScript">
<!-- Маскируемся!
var msg;
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Оператор равноценен законченному предложению в английском языке. Более подробно речь об этом пойдет в седьмой главе.
Вот что следует знать об именах переменных:
а в именах переменных можно использовать символы нижнего и верхнего регистра либо сочетание того и другого;
а до объявления переменной ее значением считается undefined;
Q имя переменной не может начинаться с цифры;
а в именах переменных недопустимы пробелы; если необходим разделитель, используется символ подчеркивания (_);
а в именах переменных следует избегать символа доллара ($) поскольку он не воспринимается, браузерами Internet Explorer 3.02 (поддерживающим JScript 1.0) и Netscape Navigator 2.02;
а следует избегать использования имен переменных, отличающихся только символами верхнего и нижнего регистра (например, msg и MsG), поскольку JScript 1.0 не сумеет их различить.
Рассмотрим следующие примеры корректных имен переменных:
msg
Hello_all Msgl Msg_l
Приведенные ниже имена переменных либо являются недопустимыми, либо их следует избегать:
a Imsg - начинается с цифры;
Qhelloall- содержит пробел;
a var- зарезервированное слово JavaScript;
Q dollar$ - в имени содержится символ $;
а msg и Msg - не используйте такие имена в одном сценарии, поскольку различаются они только регистром.
Пример. Если вы хотите присвоить значение только что объявленной переменной, это можно сделать в той же строке:
<html>
<head>
<title>npocTaH cTparoma</title>
<script language="JavaScript">
<!-- Маскируемся!
var msg = "Добро пожаловать в мир переменных JavaScript!";
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Массивы JavaScript и Escape-последовательности
В предыдущей главе вы научились пользоваться переменными. В этой главе вы узнаете о новой разновидности переменных, которые способны хранить в себе несколько значений, - о массивах. Здесь рассказывается:
а как пользоваться массивами;
а как создаются массивы;
а как создаются элементы массива;
а как пользоваться знаками переключения кода.
Как пользоваться массивами
Массив (array) - мощное средство программирования для любого языка, в том числе в JavaScript. Массив позволяет сохранять несколько независимых значений в одной переменной. Обычно эти значения как-то связаны (например, названия дней недели). Преимущество массивов заключается в том, что правильное их использование значительно упрощает код и помогает избежать создания множества переменных с похожими именами.
Итак, посмотрим, как следует создавать массивы и пользоваться ими.
Пример. В первую очередь вам нужно создать массив:
<html>
<head>
<title>npocTan страница</Ь1(;1е>
<script language="JavaScript">
<!-- Маскируемся!
var days_of_week = new Array(7);
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Эта простая строка сценария приводит к нескольким различным последствиям:
а создается переменная days_pf_week;
а с помощью new Array () указывает, что новая переменная является массивом; а определяется размер массива (в данном случае - 7).
Таким образом, созданы семь пустых ячеек, или элементов, которым нужно присвоить некоторые значения.
Ввести значения достаточно просто, только не забывайте отслеживать, какое значение присваивается каждому элементу.
days_of_week[x] = значение;
В данном случае х означает номер элемента.
Прежде всего обратите внимание, как JavaScript нумерует элементы. Он рассматривает первый элемент массива не как первый (с номером 1), а как нулевой (с номером 0). То есть в данном примере дням недели будут соответствовать порядковые номера от 0 до 6, а не от 1 до 7.
Пример. Итак, чтобы присвоить соответствующее значение первому элементу массива (в данном случае это понедельник), выполняются следующие действия:
<html>
<head>
<title>ripocTaH страница</(;1<:1е>
<script language=" JavaScript">
< ! - - Маскируемся !
var days_of_week = new Array (7),
·
days_of_week[0] = "Понедельник";
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Пример. Следуя этому образцу, вы можете заполнить массив соответствующими значениями:
<html>
<head>
<title>npocTafl CTpaHHt[a</title>
<script language="JavaScript">
<!-- Маскируемся!
var days_of_week = new Array(7);
"Понедельник"; "Вторник"; "Среда"; "Четверг"; "Пятница"; "Суббота"; "Воскресенье"; |
days_of_week[0]
days_of_week[1]
days_of_week[2]
days_of_week[3]
days_of_week[4]
days_of_week[5]
days_of_week[6]
// Снимаем маскировку. -->
</script>
</head>
<body>
</body> </html>
Теперь вы можете извлекать из массива значения элементов. Как ранее элементам присваивались значения посредством имени переменной (в данном случае days_of _week) и указанного в квадратных скобках номера элемента (например, days_of_week[2]), так теперь этот формат используется для извлечения значений из массива.
Пример. Таким образом, чтобы вывести на экран значение третьего элемента в окне предупредительных сообщений, выполняются следующие действия:
<html>
<head>
<±1(;1е>Простая cTpamma</title>
<script language="JavaScript">
<!-- Маскируемся!
var days_of_week = new Array(7),•
days_of_week[0] = "Понедельник";
days_of_week[1] = "Вторник";
days_of_week[2] = "Среда";
days_of_week[3] = "Четверг";
days_of_week[4] = "Пятница";
days_of_week[5] = "Суббота";
days_of_week[6] = "Воскресенье";
alert(days_of_week[2]);
// Снимаем маскировку. -->
</script>
</head>
<body>
</body>
</html>
Примечание Не забывайте, что счет элементов массива начинается с нуля.
Пример. Здесь представлен еще один способ, которым достигается тот же результат:
<html>
<head>
<title>npocT3H cTparama</title>
<script language="JavaScript">
<!-- Маскируемся!
var days_of_week = new Array(7);
days_of_week[0] = "Понедельник";
days_of_week[1] = "Вторник";
days_of_week[2] = "Среда";
days_of^week[3] = "Четверг";
days_of_week[4] = "Пятница";
days_of_week[5] = "Суббота";
days_of_week[6] = "Воскресенье";
var x = 2;
alert(days_of_week[x]);
// Снимаем маскировку. -->
</script>
</head>
<body>
</body>
</html>
В данном случае создается переменная х и ей присваивается значение 2. Затем имя переменной х указывается в квадратных скобках, в результате чего из массива извлекается элемент с номером 2.
Выражения, условия, операции, строки и числа
Из предыдущей главы вы узнали, как в JavaScript пользоваться переменными и массивами для сохранения информации. В этой главе вы закрепите усвоенный материал и научитесь работать с этой информацией. Здесь рассматриваются следующие понятия:
а выражения;
а условия;
а различные операции и способы их использования;
G преобразование строки в число и наоборот.
Что такое выражения и условия
При изучении любого языка программирования (и JavaScript в том числе) время от времени приходится отвлекаться на попутные замечания. Давайте на минуту оторвемся от упражнений и рассмотрим новые термины.
Выражения и условия
С помощью переменных и массивов вы сохраняете в памяти компьютера любую нужную вам информацию в различных видах. Однако впоследствии вы можете сделать с этой информацией нечто большее, чем просто вывести ее на экран или поместить в окно предупредительных сообщений. Вы можете изменить ее, управлять ею или подвергнуть ее проверке. Для этих целей и предназначены выражения и условия.
Выражения (expressions) используются для комбинации двух или более значений, в результате чего получается третье, новое значение. Примером может служить сумма в следующем выражении:
1 + 2 = 3
Вы скомбинировали два значения (1 и 2), чтобы получить третье (3). Вот еще один пример:
3 + 3-1 = 5
Здесь комбинация трех значений (3,3 и 1) приводит к появлению нового значения (5).
Условия (conditions) позволяют сравнивать величины и определять логическое значение - true или false. Ниже приводится пример условия:
Лимоны желтые? Да.
Или другой пример:
3 + 3 = 6? Да.
Заметьте, что на оба этих вопроса можно дать только два ответа - да или нет (хотя на вопрос о лимонах можно ответить «наверное»). В языке JavaScript (и в других компьютерных языках) использование условий подразумевает только два результата - да или нет.
Изучение JavaScript полезно еще и тем, что в процессе учебы вы получаете представление о других языках программирования. К тому же после освоения одного языка легче овладевать остальными.
Знакомство с операциями
В выражениях и условиях данные комбинируются с помощью операций (operator). Если манипуляции осуществляются с какой-либо одной величиной, то такая операция именуется операцией с одним операндом (unary operator). Если таких величин две, то операция называется операцией с двумя операндами (binary operator), а если три - операцией с тремя операндами (ternary operator).
Давайте рассмотрим наиболее часто используемые операции.
Арифметические операции
Арифметические операции - это всем известные математические действия:
а сложение (+);
1 + 3 = 4 а вычитание (-);
2-1 = 4 Q деление (/);
4/2 = 2 а умножение (*);
2*2 = 4 а остаток от деления (%).
9 % 5 = 4
Это были операции с двумя операндами.
Единственная арифметическая операция, нуждающаяся в пояснении, - остаток от деления. То есть 9 делится на 5 с остатком 4. Иногда эту операцию также называют взятием по модулю. При использовании целых чисел результат также будет представлять собой целое число. Но если речь идет о действительных числах (с плавающей точкой, не целых), в результате получится действительное число. Например:
5.5 % 2.2 = 1.1
Будьте внимательны при использовании этих операций, поскольку при некорректном их выполнении они могут привести к результатам NaN (несуществующее число) или Infinity (бесконечность). Примером такой проблемной операции является деление на нуль.
Примеры сценариев JavaScript
Далее описывается несколько примеров использования арифметических операций. Здесь приводится только содержимое блока SCRIPT. Все примеры созданы на основе шаблона.
Пример. Операция сложения (+) -.
<script language="JavaScript">
<!-- Маскируемся!
var а = 6, b = 4;
alert(a + b);
// Снимаем маскировку. -->
</script>
Пример. Операция вычитания (-) -.
<script language="JavaScript">
<!-- Маскируемся!
var а = 6, b = 4;
alert(a - b);
// Снимаем маскировку. -->
</script>
Рис. 6.2. Использование операции вычитания
Пример. Операция деления (/) -.
<script language="JavaScript"> <!-- Маскируемся! var a = 6, b = 3; alert(a / b);
Операции сравнения
Операции сравнения используются для сопоставления выражений. К ним относятся следующие операции:
а меньше (<);
5 < 6
а меньше или равно (<=);
6 <= 6 или 6 <= 7
а больше (>);
7 > 4
а больше или равно (>=);
5 >= 5 или 5 >= 4
а равно (==);
5 == 5
а не равно (!=).
5 != 3
Это были операции с двумя операндами.
В этих примерах сравниваются числовые данные, но те же самые операции могут выполняться и со строками (об этом речь пойдет позже). Единственное условие состоит в том, что нужно сопоставить величины, относящиеся к одному и тому же типу. В противном случае JavaScript попытается перевести данные из одного типа в другой, что не всегда удается. Чтобы избежать ошибок, сравнивайте данные только одного типа.
Логические операции
Принцип действия логических операций не так очевиден. Их функции станут понятнее, когда вы начнете использовать их с операторами, например с оператором if.
Далее перечислены три логические операции:
а логическое И (and);
&& а логическое ИЛИ (ог);
I I а логическое НЕ (not).
i
Логическое И и логическое ИЛИ - операции с двумя операндами, а логическое НЕ - операция с одним операндом. Они позволяют свести воедино результаты сравнений нескольких переменных.
Логическое И (&&) означает, что обе части выражения должны быть истинны. В качестве примера из жизни можно взять мысли водителя перед нажатием на педаль тормоза: машина едет слишком быстро && нужно затормозить.
Логическое ИЛИ (II) означает, что, по крайней мере, одна часть выражения должна быть истинной. Снова представим себе мысли водителя перед тем, как он включает фары: темнеет I I плохая видимость.
Логическое НЕ изменяет значение истина/ложь на обратное. Например, фары включают, когда ! светлеет (то есть когда темнеет).
Возможно, что-то покажется вам непонятным. Не волнуйтесь - у вас будет множество возможностей отработать данные операции, и к тому моменту, когда вы перейдете к составлению настоящих сценариев JavaScript, вам все станет ясно.
Операции с одним операндом
Как видно из названия, эти операции осуществляются с одной величиной. К ним относятся:
а префиксное и постфиксное возрастание (increment);
++
а префиксное и постфиксное уменьшение (decrement);
а унарный плюс;
+ а унарный минус.
Унарный минус изменяет знак выражения на противоположный. Из всех четырех операций это самая простая. Кроме того, унарный плюс используется не для смены знака, а для преобразования операнда в число (например, если это была строка).
Префиксное/постфиксное возрастание/уменьшение позволяет увеличить или уменьшить значение переменной на единицу. Однако результаты выполнения этих операций зависят от того, префиксная это операция или постфиксная.
Результат использования префиксной операции проще предугадать: если а = 5, то++а + 2 = 8, потому что значение переменной а было увеличено на единицу, прежде чем к нему прибавили число 2. В то же время
--а + 2 = 6,
потому что значение переменной а было уменьшено на единицу, прежде чем к нему прибавили число 2.
Постфиксные операции действуют иначе, поскольку возрастание или убывание производится только после использования старого значения в выражении. Таким образом, если а = 5, то а++ + 2 = 7, потому что увеличение на единицу будет выполнено после вычисления значения выражения. Это справедливо и для следующего выражения:
а-- + 2 = 6,
потому что уменьшение переменной а на единицу будет выполнено после использования в выражении прежнего значения.
Создание сценариев с помощью функций и событий
До сих пор ваши сценарии JavaScript состояли из операторов, выполняемых по
следовательно - от первого до завершающего. Это оптимальное решение для про
стых сценариев, но в большинстве случаев при загрузке страницы выполнять сце
нарий целиком не нужно. Например, вы хотите, чтобы несколько операторов были
задействованы вначале, а остальные - в какой-либо другой момент. Именно тогда
вам потребуются функции. %
В данной главе рассматриваются следующие вопросы:
а определение функции;
а применение функций;
а использование событий для вызова функций;
а обмен информацией;
а оператор return.
Что такое функция
Функция (function) - это группа операторов, предназначенных для определенной цели и объединенных под общим именем. Функция имеет следующий вид:
function имяфункции()
{
операторы; }
В начале функции помещается слово function, за которым указывается ее имя (например, yourMessage). После имени ставятся круглые скобки (your-Message () ). Их отсутствие приводит к ошибке.
Примечание Пока круглые скобки остаются пустыми. Чуть позже вы узнаете, для чего они используются.
После круглых скобок идут открывающая и закрывающая фигурные скобки, между которыми помещаются операторы.
У каждой функции должно быть имя, причем имена функций, используемых на одной странице, не должны повторяться. Функция запускается (активизируется или вызывается) с Web-страницы.
Ваша первая функция
Пример. Теория может казаться вам слишком сложной, пока вы не перейдете к практике. Давайте сразу создадим первую функцию. Выполните следующие действия:
1. Откройте HTML-шаблон в текстовом редакторе.
2. Напечатайте в блоке SCRIPT слово function и дайте функции имя, например
yourMessage (не забудьте о круглых скобках в конце строки):
<script language=" JavaScript ">
< ! - - Маскируемся !
function yourMessage ()
// Снимаем маскировку. --> </script>
3. Затем добавьте пару фигурных скобок:
<script language=" JavaScript ">
< ! - - Маскируемся !
function yourMessage ()
// Снимаем маскировку. --> </script>
Предупреждение Помните,