Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK-_Internet_tekhnologii_bakalavr.doc
Скачиваний:
105
Добавлен:
18.03.2015
Размер:
2.27 Mб
Скачать

7.2. Синтаксис языка JavaScript и основы программирования на нем

В целом язык JavaScript представляет собой классиче­ский язык программирования, по синтаксису во многом по­добный Си и включающий в себя ряд операторов, реализую­щих большинство типовых алгоритмических конструкций: условный оператор, циклы while и for и пр., в дополнение к которым предусмотрено большое количество стандартных методов (которые в JavaScript являются аналогами библио­течных подпрограмм). Все это позволяет реализовывать же­лаемые интерактивные действия в достаточно широких пре­делах возможностей.

Приведенная здесь информация касается работы с брау­зером Internet Explorer версий 4.0 и 5.0. В более ранних версиях (например, 3.0) и браузерах семейства Netscape не все указанные способы записи (события, функции) работа­ют корректно либо могут иметь иной синтаксис.

Константы

В качестве констант в JavaScript могут быть использованы: • текстовые («литералы») — набор символов, представля­ющий собой некий текст (например, присваиваемый пе­ременной в качестве значения) или символьную запись числа, записываемый в кавычках (двойных или «одинарных» из апострофов); для включения в состав константы некоторых символов, используемых как слу­жебные, используется нотация, принятая в Си-подоб­ных языках программирования (например, для ввода кавычек служит комбинация \ ", для вставки команды перехода на новую строку используется пара комбина­ций \r\n и т. п.);

  • целые числа - десятичные (для них используется об­ щепринятый способ записи), восьмеричные (отличают­ ся наличием лидирующего нуля слева, например 025) и шестнадцатеричные (признак — префикс 0х перед соб­ственно записью числа, например 0xFE83);

  • вещественные числа с плавающей точкой - числа, за­ пись которых включает в себя десятичную точку и/или символ е (либо Е) с последующей записью порядка (при­ мер: 1,25*10-15 записывается как 1.25е-15);

  • логические - true и false (в большинстве версий JavaScript поддерживается также соответствие числа 0 значению false, а числа 1 — значению true);

  • null - специальная константа, являющаяся своего рода аналогом «третьего состояния» в логике и обозна­чающая отсутствие какого бы то ни было значения (единственно допустимый случай ее использования - присваивание null какой-либо переменной, чтобы «от­менить» ранее присвоенное ей значение).

Типы данных

В JavaScript (особенно при работе с размещенными на Web-странице формами) основным является текстовый тип, поскольку именно он присущ возвращаемым в скриптовую программу значениям VALUE. Поэтому нередки ситуации, когда, поместив, например, в поле ввода текста некоторое числовое значение, предоставив пользователю изменить его по своему усмотрению и затем считав новое значение в ту же самую переменную, вы тем самым измените тип значения этой переменной с числового на текстовый, так что последу­ющий оператор сложения будет воспринят как конкантена-ция и второе слагаемое окажется приписанным справа к пер­вому (скажем, результатом присваивания tstrl=tbox+3 при tbox=5 окажется не число 8, а строка «53»). В JavaScript ради упрощения работы с этим языком отсутствует требова­ние обязательного объявления типа переменных, но — лиш­нее подтверждение поговорки, что недостатки всегда явля­ются продолжением достоинств, — это удобство порождает и сложности с отслеживанием всевозможных изменений типа значений переменных.

Избежать подобных казусов позволяет учет при написании скрипта следующего простого правила: тип результата для суммы (другие математические действия JavaScript с символь­ными не путает!) определяется типом первого слагаемого, так что в приведенном выше примере присваивание следует запи­сать так: tstrl=3+tbox (цифра 3 - без кавычек!).

Массивы и записи

Для организации массива в JavaScript используется сле­дующая типовая конструкция:

var <имя массива> = new Array();

Фактически сразу после выполнения этого действия мож­но считать, что создан новый массив с указанным именем и практически неограниченной длиной, ячейки которого по умолчанию имеют значение null. Далее можно как присваи­вать ячейкам массива требуемые значения, так и использо­вать их в составе каких-либо операций, причем для обраще­ния к отдельной ячейке используется нотация:

<имя массива>[<индекс>]

где индексы отсчитываются начиная с нуля. Вводить значе­ния ячеек массива можно как операторами присваивания (набором строк или в цикле for), так и указав перечень зна­чений непосредственно в функции Array при создании мас­сива, например:

var MyMass = new Array("0", 1, "tstrng");

Здесь создается новый массив с именем MyMass (строчные и прописные буквы в имени воспринимаются как различные!) и его первым трем ячейкам присваиваются указанные значе­ния: MyMass [0 ] = "0" (текстовая константа), MyMass [1] = 1 (число), MyMass [2] = "tstrng" (текстовая константа); другие ячейки массива с большими индексами также, как и в преды­дущем случае, считаются существующими, но имеющими значение null.

Другой аспект применения массивов в JavaScript - реа­лизация записей. Например, пусть мы хотим создать запись

DPoint с элементами х, у, vx и vy. Для этого нужно описать следующую функцию:

function DPoint (х, у, vx, vy) { this. х=х; this.у=у; this.vx=vx; this.vy=vy;

после чего, вызвав ее, создать по этому описанию желаемую запись с помощью оператора new:

Avto = new DPoint (30, 50, 2, 7) ;

Здесь мы принимаем в качестве аргументов функции зна­чения переменных, которые должны быть присвоены в каче­стве значений элементов записи, причем имена этих элемен­тов совпадают с именами переменных, а слово this означает, что имя создаваемой записи будет определяться именем функ­ции.

операции

=

присваивание

<

меньше

>

больше

<=

меньше или равно

>=

больше или равно

&&

логическое и



логическое или

!

логическое не

= =

равно

*

умножение

/

деление

операторы

if…else

условное ветвление

switch

переключение по условию

case

внутренний переключатель switch

default

действие по умолчанию

break

прекращения действия условия и переход к действию по умолчанию

функции

parseInt

выделяет из строки целое число, останавливаясь на первом нечисловом символе

isNaN

определяет нечисловую переменную

объекты и их методы

объект window

alert

отображает диалоговое окно с кнопкой ОК

setTimeout

устанавливает задержку выполнения операций

объект document

open

загружает докумеент в окно

write

заносит текст в документ

Приоритет операций

Если в скрипте содержится некоторое математическое вы­ражение, значение которого должен вычислить компьютер, то соответствующие операции выполняются в соответствии с указанной ниже последовательностью (чем ближе та или иная операция к началу приведенного здесь списка, тем выше ее приоритет):

  • действия в круглых скобках;

  • инкремент, декремент;

  • отрицание, дополнение, унарный минус;

  • умножение, деление, остаток от деления;

  • сложение, вычитание;

  • побитовый сдвиг;

  • сравнение;

  • равенство, неравенство;

  • побитовые операции И, ИСКЛЮЧАЮЩЕЕ ИЛИ, ИЛИ;

  • логические операции И, ИЛИ;

  • выбор по условию;

  • присваивание.

ЛЕКЦИЯ 8. Интерактивные технологии: взаимодействие «клиент – сервер». (2 часа)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]