Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Веб-орієнтована розробка програмного забезпечення ЗПі-81-20210115T104851Z-001 / Лекція 2 Умвні та циклічні опереатори та функції javaScript

.docx
Скачиваний:
19
Добавлен:
15.01.2021
Размер:
24.02 Кб
Скачать

Условные операторы

К условным операторам относятся if...else и switch. Они служат для определения набора команд, которые должны быть выполнены в случае, если условие, заданное в таком операторе, истинно. Оператор if выполняет проверку своего условия, после чего, когда результат Д - true, выполняет блок операторов, следующих за условием. Если результат - false, то в случае, когда присутствует часть else, будет выполнен блок операторов из else, в противном случае - ничего. Пример:

if (a>b)

alert(a)

else

alert(b);

В данном примере, когда условие истинно (т.е. а больше чем b), выводится окно со значением переменной а. В противном случае выводится b. Допускается не ставить фигурные скобки если в блоке используется только один оператор, а также в даном случае перед else допускается не ставить ";". Оператор if может быть вложенным. Условный оператор if имеет также сокращенную форму - в виде условной операции "? :".

(a>b) ? alert(a) : alert(b);

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

switch (x) {

case 2: x++;

break;

case 3: break;

case 4: x--;

break;

default:alert ('Число вне допустимых значений!');

}

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

Операторы циклов

В языке JavaScript определены циклы for и while. do... while. Таким образом, поддерживаются все основные виды циклов, встречающихся л языках структурного программирования.

Цикл for имеет следующий синтаксис: for ([начальное значение;][условие;][выражение приращения;]) {}

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

Как правило, начальное значение используется для инициализации счетчика цикла. Условие проверяется при каждом проходе цикла и может определять момент выхода (прекращения цикла). Последний параметр - выражение приращения - обычно используют для изменения счетчика цикла. Пример:

var d = 5;

var f = 1;

for (i=l; i <= d; rez++) f=f*i;

alert(f);

В примере с помощью цикла вычисляется факториал для числа 5, который равен 120 (1*2*3*4*5).

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

while (условие) {}

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

do {

операторы тела цикла

} while (условие);

Когда интерпретатор JavaScript доходит до оператора do...while, то сначала выполняются операторы тела цикла, и уже потом - проверяется условие. Если условие истинно, то цикл повторяется, и так до тех пор, пока условие не станет ложным.

Выход из цикла можно также определить при помощи оператора break. Выполнение цикла будет прекращено в месте вызова этого оператора, а управление будет передано первому оператору, находящемуся после цикла. Например:

var i=0;

do {

i++;

if (i>10000) break;

} while (true);

Здесь мы определили бесконечный цикл (его условие всегда истинно), который будет прерван после того, как переменная i превысит указанное в условии if значение.

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

var i = 0, j = 100;

while (i<j) {

i++;

if (j%i != 0) continue;

alert(i) ;

}

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

Функции

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

Определение и вызов

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

function ИмяФункции (аргументы) {

блок выражений;

}

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

ИмяФункции(параметры)

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

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

<html>

<head>

<title>

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

</title>

<script type="text/javascript">

function cube(value) {

return value * value * value;

}

</script>

</head>

<body>

<script type="text/javascript">

var x = cube(3);

</script>

</body>

</html>

Таким образом, написав такой код мы при загрузке страницы присвоим переменной х значение 27.

Яэык JavaScript поддерживает также рекурсивный вызов функций, т.е. вызов функции из самой себя.

Диалоговые окна

В JavaScript предусмотрено три различных способа для вывода информации на экран и для получения информации от пользователя. Самым простым является метод alert, который используется просто для отображения окна сообщения с кнопкой ОК. Ниже приведен пример использования этого метода:

a lert("Hello, World");

Метод confirm позволяет отображать окно сообщения с кнопками ОК и Cancel. Если пользователь нажимает кнопку ОК, то метод возвращает значение true, в противном случае возвращается false. Ниже приведен простой пример использования метода confirm:

c onfirm("Bы дейсвительно хотите закончить работу?");

Метод prompt позволяет отображать сообщение и текстовое поле для ввода пользователем какой-либо информации. Этому методу передается два параметра: то сообщение, которое появляется в окне, и значение, которое отображается в текстовом поле по умолчанию. Если пользователь нажал кнопку ОК, то возвращается то значение, которое на тот момент содержалось в текстовом поле. Ниже приведен простой пример использования метода prompt:

prompt("Введите ваше имя", "");

А теперь еще один пример, в котором задействованы все диалоговые окна. Этот скрипт запрашивает Ваше имя, сохраняет в переменной name введенные даные и выводит их на экран, а потом спрашивает "Хотите еще?". И так пока не нажмете кнопку "Cancel".

<html>

<head>

<title>

Диалоговые окна

</title>

</head>

<body>

<script type="text/javascript">

var name = "";

do {

name = prompt("Введите Ваше имя","");

alert(name);

} while (confirm("Хотите еще?"));

</script>

</body>

</html>