Циклы JavaScript

Циклы в JavaScript, как и в других языках программирования, позволяют выполнять блок кода определенное число раз.

for ( var i = 0; i < 5; i++ ) { // Журналирует "попытка 0", "попытка 1", ..., "попытка 4". console.log( "попытка " + i ); }

Отметьте, в циклах контекст переменной i не определяется блоком цикла даже при том, что ключевое слово var используется перед именем переменной. Контекст будет описан более подробно позднее.

Цикл for

Цикл for состоит из четырех операторов и имеет следующее строение:

for ( [инициализация]; [условие]; [итерация] ) { [телоЦикла] }

Предложение инициализации выполняется только однажды, прежде, чем цикл запустится. Это дает Вам возможность приготовить или объявить любые переменные.

Условный выполняется перед каждой итерацией, и возвращаемое им значение определяет, должен ли цикл продолжаться. Если условный оператор определяет значение как ложное, то цикл останавливается.

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

Предложение телоЦикла - то, что выполняется каждую итерацию. Оно может содержать что угодно. Как правило, это будет несколько операторов, которые должны быть выполнены, и они должны быть обернуты в блок ({...}).

Вот типичный цикл for:

for (var i = 0, limit = 100; i < limit; i++) { // Этот блок будет выполнен 100 раз. console.log( "Сейчас i = " + i ); // Заметьте: Последняя запись будет "Сейчас i = 99". }

Цикл с условием продолжения while

Цикл while подобен оператору if, за исключением того, что его тело продолжит выполняться до тех пор, пока условие не станет равным значению false.

while ( [условие] ) { [телоЦикла] }

Вот типичный цикл while:

var i = 0; while ( i < 100 ) { // Этот блок будет выполнен 100 раз. console.log( "Сейчас i = " + i ); i++; // Увеличение i }

Заметьте, что счетчик постепенно увеличивается внутри тела цикла. Можно объединить условное выражение и инкремент, например так:

var i = -1; while ( ++i < 100 ) { // Этот блок будет выполнен 100 раз. console.log( "Сейчас i = " + i ); }

Заметьте, что счетчик запускается с -1 и использует префиксный инкремент (++i).

Цикл с условием продолжения do-while

Это - почти в точности то же самое, что и цикл while, за исключением факта, что тело цикла выполняется, по крайней мере, один раз перед тем, как условие тестируется.

do { [телоЦикла] } while ( [условие] )

Вот пример цикла do-while:

Пример

do {
    // Хотя условие равно false
    // тело цикла все равно выполнится один раз.
    alert( "Привет!" );

} while ( false );

Попробуйте Сами »

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

Остановка и Продолжение

Обычно, прерывание цикла происходит, когда условный оператор приводит к значению false, но возможно остановить цикл во время его выполнения внутри тела цикла с оператором break:

// Остановка цикла for ( var i = 0; i < 10; i++ ) { if ( нечто ) { break; } }

Можно также продолжить цикл, не выполняя оставшуюся часть тела цикла. Это делается, используя оператор continue:

Пример

// Пропуск следующей итерации цикла
for ( var i = 0; i < 10; i++ ) {
    if ( true ) {
        continue;
    }

    // Следующий оператор будет выполнен,
    // если Вы замените true на false
    alert ( "Я достиг конца" );

}

Попробуйте Сами »

Далее: Клонирование и Удаление Элементов в jQuery

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)