Цикли в JavaScript

Цикли в JavaScript

Дуже часто потрібно, щоб певна частина програми виконувалася багато разів. Зрозуміло, можна просто зробити так: скопіювати-вставити і так потрібне число раз. Однак, це абсурдно, особливо, якщо дія треба виконувати, наприклад, 1000 разів. Тому існують так звані цикли, яку присутні в більшості мов програмування. І про них я вам і розповім.

Цикли в JavaScript містить певний код, який прокручується багаторазово. Існує кілька видів циклів: for, while і do-while.

Почнемо з самого першого циклу (і самого популярного) – циклу for. Загальний вигляд цього циклу такий:

 

for (змінна = початкове значення; умова; дія після кажної взаємодія) {
// код програми
}

Давайте прокоментую те, що тут написано. Спочатку йде – змінна ітерації. Це звичайне ім’я змінної для ітерації. Далі йде початкове_значення. Власне, назва говорить сама за себе. Далі йде умова, при виконанні якого (тобто повертається true) цикл запускається ще один раз, і, нарешті, дія, яка виконується після кожної ітерації. Як правило, це зміна змінної для ітерації.

Давайте з Вами напишемо простий скрипт, який буде виводити кількість ітерацій циклу:

 

for (i = 0; i <100; i ++)
document.write (i + “”);

 

Тут ми задали змінну для ітерації (називається i), якій присвоїли значення 0. Далі перевіряється умова: i <100. Якщо воно виконується, то виконується одна ітерація циклу. Після виконання кожної ітерації відбувається i ++ (тобто збільшення змінної i на 1). Знову перевіряється умова, і якщо воно істинне, то виконується ще одна ітерація. І так до тих пір, поки умова i <100 не стане хибним. Очевидно, що воно буде помилково лише через 100 ітерацій. Таким чином, даний цикл буде виконуватися 100 раз, що ми можемо побачити, якщо запустимо цей скрипт. І ще дещо. Так як у нас тут виконується всього один оператор (document.write ()), то наявність фігурних дужок необов’язково. Якщо у Вас 2 і більше операторів крутяться в циклі, то тоді необхідно їх поставити.

Тепер поговоримо про другий різновиди циклів в JavaScript – while. В принципі, цикл дуже схожий на for (хоча все цикли схожі). Але тут загальний вигляд інший:

 

while (умова) {
// код програми
}

Як бачите, тут немає ні змінної для ітерації, ні будь-яких дій після ітерації. Звідси випливає висновок: щоб вийти з циклу необхідно в самому циклі зробити так, щоб “умова” стало хибним. Якщо це не зробити, то відбудеться зациклення, а, отже, Ваш скрипт зависне.

Давайте реалізуємо таку ж задачу, як і раніше, але використовуючи цикл while.

 

var i = 0;
while (i <100) {
i ++;
document.write (i + “”);
}

Перед початком циклу ми створили змінну i, якій присвоїли початкове значення. Потім перед запуском циклу перевіряється умова, і якщо воно істинне, то запускається ітерація циклу, в якій ми збільшуємо змінну для ітерації (інакше відбудеться зациклення). І виводимо цю змінну.

І, нарешті, останній вид циклів в JavaScript – цикл do-while. Синтаксис такий:

 

do {
// код програми
} while (умова)

Дуже схожий на цикл while, однак, тут є лише одне, але дуже принципова відмінність. Якщо цикл while спочатку перевіряє умова, а потім вже виконує чи ні ітерацію. Те цикл do-while спочатку саме виконує ітерацію, і тільки потім перевіряє умова. І якщо воно помилкове, то виходить з циклу. Іншими словами, незалежно від умови даний цикл гарантовано виконається хоча б 1 раз. Думаю, що даний код буде зайвим, але все ж.

 

var i = 0;
do {
i ++;
document.write (i + “”);
} while (i <100)

 

Пояснювати код не буду, впевнений, Ви з без мене з ним розберетеся. Тому я краще перейду до двох цікавим операторам: break і continue.

Почнемо з break. Даний оператор дозволяє достроково вискочити з циклу. Давайте з Вами напишемо такий код:

 

for (i = 0; i <100; i ++) {
if (i == 50) break;
document.write (i + “”);
}

 

Ви можете запустити цей скрипт і виявите, що вивелися тільки числа до 49, так як при i = 50 цикл перервався, завдяки оператору break.

Тепер розповідаю про оператора continue. Даний оператор дозволяє перейти до наступної ітерації циклу. Щоб не розписувати тут багато, краще відразу покажу приклад:

 

for (i = 0; i <100; i ++) {
if (i == 50) continue;
document.write (i + “”);
}

Якщо Ви запустите цей скрипт, то побачите, що не вистачає числа 50. Це сталося через те, що при i = 50, ми переходимо до наступної ітерації циклу, перед якою i збільшується на 1 і стає рівним 51-му.

1 Star2 Stars3 Stars4 Stars5 Stars (2 Votes, average: 5.00 out of 5)

Залишити коментар