Відзначте, в циклах контекст змінної i не визначається блоком циклу навіть при тому, що ключове слово var використовується перед ім'ям змінної. Контекст буде описаний більш докладно пізніше.
Цикл for складається з чотирьох операторів і має наступну будову:
Пропозиція ініціалізації виконується тільки один раз, перш, ніж цикл запуститься. Це дає Вам можливість приготувати або оголосити будь-які змінні.
Умовний виконується перед кожною итерацией, і повертається їм значення визначає, чи повинен цикл триватиме. Якщо умовний оператор визначає значення як хибне, то цикл зупиняється.
Пропозиція ітерації виконується в кінці кожної ітерації і дає Вам можливість змінити стан важливих змінних. Як правило, воно включає поступове збільшення або поступове зменшення лічильника і таким чином наближення циклу до його кінця.
Пропозиція телоЦікла - то, що виконується кожну ітерацію. Воно може містити що завгодно. Як правило, це буде кілька операторів, які повинні бути виконані, і вони повинні бути обгорнуті в блок ().
Ось типовий цикл for:
Цикл з умовою продовження while
Цикл while подібний оператору if. за винятком того, що його тіло продовжить виконуватися до тих пір, поки умова не стане рівним значенню false.
Ось типовий цикл while:
Зауважте, що лічильник поступово збільшується всередині тіла циклу. Можна об'єднати умовний вираз і інкремент, наприклад так:
Зауважте, що лічильник запускається з -1 і використовує префіксний інкремент (++ i).
Цикл з умовою продовження do-while
Це - майже в точності те ж саме, що і цикл while. за винятком факту, що тіло циклу виконується, принаймні, один раз перед тим, як умова тестується.
Ось приклад циклу do-while:
do // Хоча умова одно false
// тіло циклу все одно виконається один раз.
alert ( "Привіт!");
Ці типи циклів є досить рідкісними, так як є трохи ситуацій, що вимагають циклу, який обов'язково повинен бути виконаний, по крайней мере, одby раз. У будь-якому випадку, корисно знати про це.
Зупинка і Продовження
Зазвичай, переривання циклу відбувається, коли умовний оператор призводить до значення false, але можливо зупинити цикл під час його виконання всередині тіла циклу з оператором break:
Можна також продовжити цикл, не виконуючи решту тіла циклу. Це робиться, використовуючи оператор continue:
// Пропуск наступної ітерації циклу
for (var i = 0; i