Дуже часто потрібно, щоб певна частина програми виконувалась багато разів. Зрозуміло, можна просто зробити так: скопіювати-вставити і так потрібне число раз. Однак, це абсурдно, особливо, якщо дію треба виконувати, наприклад, 1000 разів. Тому існують так звані цикли, які присутні в більшості мов програмування. І про них я Вам і розповім.
Цикли в javascript містять певний код, який прокручується багаторазово. Існує кілька видів циклів: for, while і do-while.
Почнемо з самого першого циклу (і самого популярного) - циклу for. Загальний вид цього циклу такий:
Давайте прокоментую те, що тут написано. Спочатку йде - змінна ітерації. Це звичайне ім'я змінної для ітерації. Далі йде початкове_значення. Власне, назва говорить сама за себе. Далі йде умова, при виконанні якої (тобто повертаєтьсяtrue) цикл запускається ще один раз, і, нарешті, дія, яка виконується після кожної ітерації. Як правило, це зміна змінної для ітерації.
Давайте з Вами напишемо простий скрипт, який буде виводити кількість ітерацій циклу:
Тут ми задали змінну для ітерації (називається i), якій присвоїли значення 0. Далі перевіряється умова: i <100. Якщо воно виконується, то виконується одна ітерація циклу. Після виконання кожної ітерації відбувається i + + (тобто збільшення змінної i на 1). Знову перевіряється умова, і якщо вона істинна, то виконується ще одна ітерація. І так до тих пір, поки умова i <100 не стане хибною. Очевидно, що вона буде хибною лише через 100 ітерацій. Таким чином, даний цикл буде виконуватися 100 раз, що ми можемо побачити, якщо запустимо цей скрипт. І ще дещо. Так як у нас тут виконується всього один оператор (document.write ()), то наявність фігурних дужок необов'язкова. Якщо у Вас 2 і більше операторів крутяться в циклі, то тоді необхідно їх поставити.
Тепер поговоримо про другий різновид циклів в javascript - while. В принципі, цикл дуже схожий на for (хоча всі цикли схожі). Але тут загальний вид інший:
Як бачите, тут немає ні змінної для ітерації, ні будь-яких дій після ітерації. Звідси випливає висновок: щоб вийти з циклу необхідно в самому циклі зробити так, щоб "умова" стало хибною. Якщо це не зробити, то відбудеться зациклення, а, отже, Ваш скрипт повисне.
Давайте реалізуємо таку ж задачу, як і раніше, але використовуючи цикл while.
Перед початком циклу ми створили змінну i, якій присвоїли початкове значення. Потім перед запуском циклу перевіряється умова, і якщо вона істинна, то запускається ітерація циклу, в якій ми збільшуємо змінну для ітерації (інакше відбудеться зациклення). І виводимо цю змінну.
І, нарешті, останній вид циклів в javascript - цикл do-while. Синтаксис такий:
Дуже схожий на цикл while, однак, тут є всього одна, але дуже принципова відмінність. Якщо цикл while спочатку перевіряє умову, а потім вже виконує чи ні ітерацію. Те цикл do-while спочатку саме виконує ітерацію, і тільки потім перевіряє умову. І якщо вона помилкова, то виходить з циклу. Іншими словами, незалежно від умови даний цикл гарантовано виконається хоча б 1 раз. Думаю, що даний код буде зайвим, але все ж.
Пояснювати код не буду, впевнений, Ви з без мене з ним розберетеся. Тому я краще перейду до двох цікавих операторів: break і continue.
Почнемо з break. Даний оператор дозволяє достроково вискочити з циклу. Давайте з Вами напишемо такий код:
Ви можете запустити цей скрипт і виявите, що вивелися тільки числа до 49, так як при i = 50 цикл урвався, завдяки оператору break.
Тепер розповідаю про оператор continue. Даний оператор дозволяє перейти до наступної ітерації циклу. Щоб не розписувати тут багато, краще відразу покажу приклад:
Якщо Ви запустите цей скрипт, то побачите, що не вистачає числа 50. Це сталося тому, що при i = 50, ми переходимо до наступної ітерації циклу, перед якою i збільшується на 1 і стає рівним 51-му.
Ось, начебто, і все, що хотілося написати про цикли javascript. Сподіваюся, Вам все стало ясно. Можете також придумати собі якусь задачу і вирішити її. Це буде чудовою тренуванням.