freeCodeCamp/guide/russian/javascript/loops/for-loop/index.md

3.4 KiB
Raw Blame History

title localeTitle
For Loop Для цикла

Синтаксис

for ([initialization]); [condition]; [final-expression]) { 
   // statement 
 } 

Оператор javascript for состоит из трех выражений и оператора:

Описание

  • Инициализация - Запуск до первого выполнения цикла. Это выражение обычно используется для создания счетчиков. Переменные, созданные здесь, привязаны к циклу. Как только цикл завершит выполнение, они будут уничтожены.
  • condition - выражение, которое проверяется перед выполнением каждой итерации. Если это опущено, это выражение оценивается как true. Если он вычисляет значение true, выполняется оператор цикла. Если он оценивает значение false, цикл останавливается.
  • final-expression - выражение, которое запускается после каждой итерации. Обычно используется для увеличения счетчика. Но он также может использоваться для уменьшения счетчика.
  • statement - Код, который необходимо повторить в цикле

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

Общие проблемы

Превышение границ массива

При многократном индексировании по массиву легко превзойти границы массива (например, попытайтесь ссылаться на 4-й элемент массива из 3 элементов).

    // This will cause an error. 
    // The bounds of the array will be exceeded. 
    var arr = [ 1, 2, 3 ]; 
    for (var i = 0; i <= arr.length; i++) { 
       console.log(arr[i]); 
    } 
 
    output: 
    1 
    2 
    3 
    undefined 

Есть два способа исправить этот код. Задайте условие либо i < arr.length либо i <= arr.length - 1

Примеры

Итерации через целые числа от 0 до 8

for (var i = 0; i < 9; i++) { 
   console.log(i); 
 } 
 
 output: 
 0 
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 

Вырыв из цикла до выражения условия false

for (var elephant = 1; elephant < 10; elephant+=2) { 
    if (elephant === 7) { 
        break; 
    } 
    console.info('elephant is ' + elephant); 
 } 
 
 output: 
 elephant is 1 
 elephant is 3 
 elephant is 5 

Другие источники