Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_ТРП_защ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
8.53 Mб
Скачать

13.2. Функции

Функция – это набор алгоритмических действий, содержащийся в одном, замкнутом объекте.

Синтаксис ее такой:

function имя(переменная1,переменная2)

{ алгоритм }

Следует отметить, что переменные могут как явно указыватьсмя при создании функции так и не указываться вовсе. Функция сама по себе не начнет функционировать, её нужно запустить, причем делать этот много раз из различных мест документа.

Кроме того, если в функции есть несколько переменных и действий над ними, то следует указать, какую переменную должна вернуть функция. Делается это при помощи оператора returt. Он употребляется только при работе с функциями. Для того чтобы вывести на экран результат, необходимо указать имя функции в операторе вывода. Имя это не только название, но и «()», поэтому в общем виде код будет выглядеть следующим образом:

Пример:

function umnojenie()

{

a = 5;

b = 2;

c = a*b;

return c;

}

document.writeln(umnojenie());

Результатом данного примера станет число 10. Однако, универсальностью данная функция не отличается. Так в случае умножения других двух чисел, необходимо писать новую функцию. Поэтому, существуют различные методы, позволяющие передавать значения переменных в функцию. При этом синтаксис выражения изменится на следующий:

Пример:

function umnojenie(a, b)

{

c = a*b;

return c;

}

document.writeln(umnojenie(10, 2) + "" + umnojenie(20, 2));

Здесь в имени функции идет точное указание имен переменных, которые передаются в функцию. А в моменты вывода функции на экран указываются их значения. В результате, будут выведены числа 20 и 40.

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

<a href='#' onclick=" umnojenie(10, 2)">

<a href='javascript:void(0)' onclick=" umnojenie(10, 2)">

<a href='javascript: umnojenie(10, 2)' onclick="return false">

<a href='javascript: umnojenie(10, 2)'>

Все 4 варианта вызова функции через ссылку будут верными.

Обработчиков событий огромное количество. Поэтому рассматривать их всех не имеет смысла. Среди самых часто использующихся выделяют следующие:

onClick - Выполняет код JavaScript, когда возникает событие click; то есть, когда сделан щелчок по объекту или форме. (Событие click является комбинацией событий MouseDown и MouseUp).

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

Для тэгов FRAMESET и FRAME: событие обработчика onLoad во фрэйме (помещённого в тэг BODY) возникает до onLoad тэга FRAMESET (помещённого в тэг FRAMESET).

Для изображений обработчик onLoad указывает скрипт, исполняемый при выводе изображения. Не путайте вывод изображения с загрузкой изображения. Вы можете загрузить несколько изображений, затем вывести их поочерёдно в одном и том же объекте Image путём установки свойства src объекта. Если Вы изменяете изображение, выводимое таким образом, onLoad выполняется каждый раз при выводе изображения, а не только при загрузке изображений в память.

Если Вы специфицируете обработчик onLoad для объекта Image, который выводит циклическую GIF-анимацию (multi-image GIF), каждый цикл анимации включает обработчик onLoad, и обработчик выполняется однократно для каждого цикла.

Можно использовать обработчик onLoad для создания анимации JavaScript путём повторяющейся установки свойства src объекта Image.

Пример:

<BODY onLoad="window.alert("Welcome to the Brave New World home page!")>

onMouseOut - Выполняет код JavaScript, когда возникает событие MouseOut; то есть каждый раз выходе указателя мыши за пределы области (в клиентской карте изображений) или гиперссылки.

В IE5.5 существует дублирующее события onMouseLeave, которое запускается непосредственно после даннго.

Следует заметить, что событие иногда не запускается.

onMouseOver - Выполняет код JavaScript, когда возникает событие MouseOver; то есть всякий раз при проведении указателя мыши над объектом или областью. Если мышь проводится из одной области клиентской карты изображений в другую, Вы получите onMouseOut для первой области, а затем onMouseOver - для второй области.

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

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

Для этого в нем предусморена объектная модель. Например, для того чтобы функция могла поместить любое значение в элемент WEB-страницы, имеющей определенный ID нужно применить следующую строку:

document.getElementById('ID').innerHTML = 'Я новый текст в строке.';

Модель состоит из обращения к некоему первому элементу страницы, это почти всегда document, затем оператор, означающий сложение элементов в единую модель, т.е. «.». Затем вызов специального оператора отправки информации методом get. В нем же указывается, в какой элемент происходит запись ElementById, в данном случае id, а в скобках указывается имя индентификатора, затем идет команда перезаписать содержимое у этого элемента и вставить значение, идущее следом, после знака равно.

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