Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы по курсу СЭКрит к экзамену 2011.doc
Скачиваний:
5
Добавлен:
05.08.2019
Размер:
720.9 Кб
Скачать
  1. Переменные и операторы JavaScript. Обработчики событий.

Имена переменных в JavaScript должны начинаться с буквы или подчеркивания ("_"), последующие символы могут быть буквами и/или цифрами. Следует учитывать, что JavaScript чувствителен к регистру. Приведем несколько примеров правильного написания имен переменных:

Number_hits, temp99, _name.

несколько способов описания переменных.

Определение по умолчанию. Можно где-нибудь в тексте скрипта использовать правильное имя переменной и присвоить ему значение, используя символ "=", например, x = 42.

С использованием служебного слова var. Это слово используется для определения переменной, причем можно как разделить описание переменной и ее определение, так и их объединить. Посмотрите на следующие описания:

var x = 19; var x;

. . .

x = 19;

В левой колонке описана переменная x и ей сразу же присваивается значение 19. В правой колонке описание переменной и присваивание ей начального значения разделено текстом программы.

По способу использования в программе переменные делятся на два типа:

глобальные;

локальные.

Операторы:

if ... else.

Приведем общий вид этого оператора:

if (<выражение>)

<оператор1>;

else

<оператор2>;

а также его сокращенную форму:

if (<выражение>) <оператор1>;

Вначале вычисляется значение выражения. Если его значение отлично от нуля, то выполняется оператор1. Если его значение равно нулю, и если есть else-часть, то выполняется оператор2. Если значение выражения равно нулю, но конструкция else отсутствует (имеется в наличии сокращенная форма условного оператора), то никаких действий в этом операторе не выполняется, а осуществляется переход к следующему оператору.

Если на месте оператора1 и оператора2 находится несколько операторов, то они заключаются в фигурные скобки:

if (<выражение>)

{ <оператор1>; <оператор2>; ... <операторN>; }

Выражение в операторе if обычно является логическим. Однако оно может быть также и числовым, и строковым. В случае строкового выражения условие считается истинным, если значением выражения является непустая строка. В случае числового выражения условие истинно, если значение выражения отлично от нуля.

switch. Этот оператор удобно использовать при проверке большого числа условий.

Общий вид данного оператора следующий:

switch ( <выражение>)

{

case <значение1>:

<операторы1>

break;

case <значение2>:

<операторы2>

break;

. . . . . . .

case <значениеN>:

<операторыN>

break;

default:

<операторыM>

}

Параметр выражение может принимать строковые, числовые и логические значения. Ключевые слова break и default не являются обязательными.

Оператор switch работает следующим образом. Сначала вычисляется значение выражения. Если же значению выражения не соответствует ни одно из значений, расположенных после case, управление передается коду, расположенному после ключевого слова default. Отметим, что в случае отсутствия default выполнение программы продолжается с оператора, следующего за оператором switch.

Внутри оператора switch (а также внутри циклических конструкций, но об этом - позже) break приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий.

Например, при выполнении следующего кода:

. . . . .

x = 2;

switch (x)

{

case 1: alert ("1");

case 2: alert ("2");

case 3: alert ("3");

}

. . . . .

будут выполнены 2-й и 3-й варианты.

Для решения ряда задач часто требуется многократное выполнение одних и тех же действий. На практике это реализуется с помощью циклических конструкций. В JavaScript существует три вида операторов цикла:

  • с предусловием;

  • с постусловием;

  • с параметром.

Оператор цикла с предусловием (цикл while)

Оператор while является оператором цикла с предусловием. Он применяется в тех случаях, когда неизвестно количество повторений тела цикла. Выполнение последовательности операций в данном операторе продолжается до тех пор, пока условие продолжения цикла истинно. Синтаксис оператора следующий:

while (<условие>)

{

<действие1>;

<действие2>;

. . . . .

<действиеN>;

}

Тело цикла выполняется до тех пор, пока условие истинно. Отсюда понятно, что внутри цикла значение переменной, указанной в условии, должно изменяться. В противном случае цикл будет бесконечным.

Если тело цикла состоит из одного оператора, то его можно не заключать в фигурные скобки.

do-while.

Общий вид этой конструкции следующий:

do

{

<действие1>;

<действие2>;

. . . . .

<действиеN>;

}

while (<условие>);

В отличие от конструкции while тело цикла в операторе do-while выполнится хотя бы один раз, так как условие проверяется после выполнения тела цикла. Если условие истинно, то снова выполняется тело цикла. В противном случае управление передается оператору, идущему после конструкции while.

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

Оператор for позволяет объединить все три указанные операции, необходимые для работы цикла, в одну. Выражение с оператором for состоит из самого оператора, за которым в круглых скобках следуют три выражения, устанавливающие параметры выполнения цикла. Выражения в круглых скобках отделяются друг от друга точкой с запятой.

for (<НЗ>;<УПЦ>;<Ш>)

{

<действие1>;

<действие2>;

. . . . .

<действиеN>;

}

Первое выражение цикла for устанавливает начальное значение (<НЗ>) счетчика цикла. Второй параметр определяет условие продолжения цикла (<УПЦ>). Это условие проверяется перед каждой новой итерацией цикла и возвращает логическое значение. Если возвращается значение true, то выполняется тело цикла, после чего выполняется третье выражение в параметрах цикла. Третий параметр определяет значение приращения счетчика цикла.

Синтаксис задания оператора for позволяет использовать несколько счетчиков цикла, проверять сложные условия продолжения цикла или последовательно выполнять несколько операций над счетчиками цикла. Если присваиваются значения нескольким счетчикам или выполняется несколько операций, то они записываются последовательно и разделяются запятыми.

break. Для выхода из операторов.

Обработчики событий предназначены для связи событий с методами и функциями, определёнными сценарием. Для каждого объекта существует определённый набор событий, расширяемый с каждой версией JavaScript.

onChange

onChange="handlerText"

 

Выполняет код JavaScript, когда возникает событие change;

onClick

onClick="handlerText"

 

Выполняет код JavaScript, когда возникает событие click; то есть, когда сделан щелчок по объекту или форме.

onBlur

onBlur="handlerText"

 

Выполняет код JavaScript, когда возникает событие blur; Связано с перемещением указателя мыши над любым элементом страницы.

onFocus

onFocus="handlerText"

 

Выполняет код JavaScript при возникновении события focus; то есть, если окно, фрэйм или набор фрэймов получает фокус или если элемент формы получает фокус.

onLoad

onLoad="handlerText"

 

Выполняет код JavaScript при возникновении события load; то есть, когда браузер закончил загрузку окна или всех фрэймов. Используйте обработчик onLoad в тэге BODY или FRAMESET, например, < BODY onLoad="...">.

и т.д.