Чтение онлайн

на главную - закладки

Жанры

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:

//Это единственный выход из бесконечного цикла

if (x==0) {break}

//Вложенный цикл, просматривающий все элементы массива

for (var i=0;i<a.length;i++)

{

//Проверяем значение элемента массива a

if (a[i]==0)

{

b[i]="-";

//Прерываем текущую итерацию цикла for, чтобы избежать

//деления на ноль

continue;

}

//Находим частное

b[i]=x/a[i];

}//Конец цикла for

alert(a+"\n"x+"\n"+b);

}//Конец цикла while

</script>

</head>

<body>

</body>

</html>

Данный код позволяет определить частное от введенного пользователем числа и элементов массива a. При этом в числе элементов этого массива могут быть нули, тогда необходимо в элемент массива с результатом b ввести прочерк (—) (рис. 11.15).

Рис. 11.15. Пример использования операторов выхода из цикла

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

11.5. Функции и события

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

Функции

Функция – это набор команд, объединенных под общим именем для выполнения некоторой задачи. Синтаксис функции имеет следующий вид:

function ИмяФункции([аргумент1][,..аргументN])

{

операторы

}

Ключевое слово function объявляет функцию с именем ИмяФункции. Функции могут передаваться (но могут и не передаваться) аргументы, которые перечисляются через запятую в скобках рядом с именем функции. В качестве аргументов могут выступать переменные, значения и выражения.

Использование функций

Функции можно объявлять в любом месте внутри элемента SCRIPT. Можно даже объявить функцию внутри другой функции, однако в этом случае она будет локальной, то есть будет действовать только внутри родительской функции. Тем не менее рекомендуется объявлять функцию в блоке HEAD до начала выполнения основного кода, иначе она может быть недоступной в момент вызова. В листинге 11.19 представлен пример работы с функциями.

Листинг 11.19. Пример использования функций

<html>

<head>

<title>Пример использования функций</title>

<script>

//Глобальный массив

var a= new Array (1,2,4,8);

function sum

{

var s=0; //локальная переменная для хранения суммы

//Цикл по всем элементам массива a

for (var i in a)

{

s=s+a[i];

}

alert("Сумма элементов массива="+s);

}

function product

{

var p=1; //локальная переменная для хранения произведения

for (var i in a)

{

p=p*a[i];

}

alert("Произведение элементов массива="+p);

}

</script>

</head>

<body>

<script>

var x=prompt("Найти сумму или произведение (0 или 1)?","0");

if (x=="0")

{

sum;

}

if (x=="1")

{

product;

}

</script>

</body>

</html>

При запуске этого кода отображается запрос, на который необходимо ввести 0 или 1. В зависимости от ответа запускается одна из функций: sum или product, которые находят сумму или произведение элементов глобального массива a соответственно.

Функции могут возвращать значение. Для этого необходимо использовать оператор возврата return. Вообще этот оператор может встречаться несколько раз в теле функции. Таким образом, функции можно использовать в выражениях (листинг 11.20).

Листинг 11.20. Использование значения функции

<html>

<head>

<title>Использование значения функции</title>

<script>

function sum(a,b)

{

return (a+b);

}

</script>

</head>

<body>

<script>

var x1=5, x2=6, x3=3, x4=3;

//Отображаем (x1+x2)*(x3+x4)

alert (sum(x1,x2)*sum(x3,x4));

</script>

</body>

</html>

Функция может объявляться в выражении. Обычно в этом случае функция присваивается переменной, которая затем может использоваться в выражении:

var cube=function(x){return x*x*x}

alert(cube(2)+cube(3));

В данном случае объявляется переменная-функция, вычисляющая куб числа.

Переменное количество аргументов

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

Поделиться:
Популярные книги

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Мастер 8

Чащин Валерий
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер 8

Тринадцатый VII

NikL
7. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый VII

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

Чужак из ниоткуда

Евтушенко Алексей Анатольевич
1. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда

Кодекс Охотника. Книга XXXV

Винокуров Юрий
35. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXV

Московское золото и нежная попа комсомолки. Часть Пятая

Хренов Алексей
5. Летчик Леха
Фантастика:
попаданцы
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Пятая

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

Уникум

Поселягин Владимир Геннадьевич
1. Уникум
Фантастика:
альтернативная история
4.60
рейтинг книги
Уникум

Второгодка. Книга 2. Око за око

Ромов Дмитрий
2. Второгодка
Фантастика:
героическая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Второгодка. Книга 2. Око за око

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Хозяин Стужи 3

Петров Максим Николаевич
3. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи 3