Оператор-переключатель switch
Методические указания
1. При изучении конструкций языка JavaScript можно использовать любой текстовый редактор. Для получения JavaScript файла, сохраняйте свои изменения как текстовые, для файла используйте расширение *.js, если вы встраиваете скрипт в HTML файл, то сохраняйте свои изменения как текстовые, для файла используйте расширение *.htm или *.html
2. Более опытные пользователи могут воспользоваться любым специализированным редактором HTML страниц или JavaScript редактором (Macromedia Dreamweaver, HomeSite, FrontPage, AceHTML, Web Development Studio)
3. Создаваемые файлы необходимо тестировать в основных браузерах Internet Explorer, Mazilla Firefox, Opera.
4. Отлаженные файлы необходимо сохранять в отдельном каталоге.
5. По окончанию работы сохраните все созданные файлы на своих носителях.
Теоретические сведения
JavaScript - предназначен для написания сценариев для активных HTML-страниц. Язык JavaScript не имеет никакого отношения к языку Java. Java разработан фирмой SUN. JavaScript – фирмой Netscape Communication Corporation. Первоначальное название – LiveScript. После завоевания языком Java всемирной известности LiveScript из коммерческих соображений переименовали в JavaScript.
JavaScript не предназначен для создания автономных приложений. Программа на JavaScript встраивается непосредственно в исходный текст HTML-документа и интерпретируется браузером по мере загрузки этого документа. С помощью JavaScript можно динамически изменять текст загружаемого HTML-документа и реагировать на события, связанные с действиями посетителя или изменениями состояния документа или окна.
Важная особенность JavaScript – объектная ориентированность. Программисту доступны многочисленные объекты, такие, как документы, гиперссылки, формы, фреймы и т.д. Объекты характеризуются описательной информацией (свойствами) и возможными действиями (методами).
Тег <SCRIPT>
Сценарий JavaScript встраивается в HTML-документ с помощью тега <SCRIPT>...</SCRIPT>.
Пример
<HTML><HEAD><meta http-equiv=Content-Type content="text/html; charset=windows-1251"></HEAD><BODY><H1>Начнем?</H1> <SCRIPT TYPE="text/javascript"> <!-- document.write('Привет!'); //--> </SCRIPT></BODY></HTML>Текст сценария оформляется как комментарий, чтобы не было проблем у посетителей, брaузеры которых не понимают JavaScript. Кроме того к символам, завершающим комментарий добавляется еще два символа “/”, т.к. некоторые браузеры, рассматривает строку, состоящую только из символов “-->”, как ошибочную.
В первом примере для объекта с именем document вызывается метод write. В качестве параметра ему передается текстовая строка “Привет!”. Строка закрывается символом “;”, которым отделяются друг от друга все операторы JavaScript.
Объект document – это HTML-документ, загруженный в окно брaузера. Метод write записывает в тело HTML-документа строку “Привет!”. При этом документ будет выгдядеть так, как будто эта строка находится в нем на месте сценария.
Имейте в виду, что JavaScript различает строчные и прописные буквы. Кроме того символ дефиса в JavaScript распознается как минус, т.е. если фон объекта в HTML-документе задается через свойство background-color, то в JavaScript - через backgroundColor.
Пример
<img src="test.gif" border=0OnMouseOver="this.style.backgroundColor='red';" OnMouseOut="this.style.backgroundColor='white';">Переменные в JavaScript
Имя переменной не должно совпадать с зарезервированными ключевыми словами JavaScript.
Все переменные в JavaScript объявляются с помощью ключевого слова var. При объявлении тип переменной не указывается. Этот тип присваивается переменной только тогда, когда ей присваивается какое-либо значение.
Числа в строки интерпретатор JavaScript преобразует автоматически.
Существует три простых типа данных: численные, логические (булевы) и строковые (символьные), а также два составных типа данных: объекты и массивы.
Условные операторы
В языке JavaScript оператор IF-ELSE имеет следующий синтаксис:
Var Vol = 0;
Var b = false;
if(Vol<2)
{
b=true;
}
else if(Vol>100)
{
b=true;}
Оператор ?
Это еще один условный оператор.
{Условие} ? {Выражение "то"} : {Выражение "иначе"}
Этого оператора возвращает результат выражения "то", если условие истинно, и результат выражения "иначе" — иначе.
а = (f == 2) ? b : с + 2;
Если f ровное 2, выражение поместит в переменную а значение переменной b, иначе — значение выражения с + 2.
Приоритет этого оператора один из самых низких. Ниже его — только операторы присвоения.
Оператор-переключатель switch
Оператор-переключатель switch может заменить огромное количество условных операторов. Он, собственно, и есть безліччю операторов вида if - eise, объединенных в один.
switch ({Выражение})
{ case {Значение 1} :{Блок 1}[break;]
[case {Значение 2} :{Блок 2}[break;]
... Другие секции case [default :
{Блок, который выполняется для остальных значений}] }
Сначала вычисляется выражение, помещенное в скобки после ключевого слова switch. После этого его значения сравнивается со значениями, которые находятся после ключевых слов case, и в случае равенства выполняется блок кода из соответствующей секции. Например, если значение выражения равно "значению 1", выполнится блок коды 1 и так далее. Если же оно не встретилось ни в одной секции case, выполняется блок коды, которая находится в секции default.
Чтобы проиллюстрировать вышесказанное, рассмотрим следующий пример.
switch (a)
{ case 1: out = "Единица";break;
case 2: out = "Двойка";break;
case 3: out = "Тройка";break;
default: out = "Другое число"; }
Операторы цикла
Пример оператора FOR
Var n = 20;
for(var i=0; i<n; i++)
{
Text += ' ';
}
Пример оператора WHILE
Var i=0;
Var n=20;
while(i<n)
{ text += ’ ’;
i++;
}
Кроме этих операторов в организации цикла могут участвовать еще два оператора: break (выход из цикла) и continue (переход на следующий шаг).
Прочие операторы
. | Доступ к полю объекта. ( document.write(Buf); ) |
[ ] | Индексирование массива ( dim[i] ) |
( ) | Изменение порядка вычислений или передача параметров функции |
, | Разделение выражений в многократном вычислении |
Объекты JavaScript
Язык JavaScript является объектно-ориентированным. Объекты JavaScript представляют собой наборы свойств и методов. Можно сказать, что свойства объектов - это данные, связанные с объектом, а методы - функции для обработки данных объекта.
В языке JavaScript имеется три вида объектов: встроенные объекты, объекты брaузера и объекты, создаваемые программистом.
JavaScript поддерживает следующий набор встроенных объектов: Array, Boolean, Date, Global, Function, Math, Number, String.