--- title: For Loop localeTitle: Для цикла --- ### Синтаксис ```javascript for ([initialization]); [condition]; [final-expression]) { // statement } ``` Оператор javascript `for` состоит из трех выражений и оператора: ## Описание * Инициализация - Это выражение обычно используется для создания счетчиков. Переменные, созданные здесь, привязаны к циклу. Как только цикл завершит выполнение, они будут уничтожены. * condition - условие которое проверяется перед выполнением каждой итерации. Если условие опущено, то выражение автоматически оценивается как true. Если условие оценивается как true, то цикл продолжается. Цикл остановится когда значение условия станет false. * final-expression - выражение, которое запускается после каждой итерации. Обычно используется для увеличения данных счетчика. Но он также может использоваться для уменьшения счетчика. * statement - операции которые будут выполняться при каждом цикле. любое из этих трех выражений или утверждение можно опустить. Для циклов обычно используются для подсчета определенного количества итераций для повторения утверждения. Используйте оператор `break` для выхода из цикла, до того как условие примет значение false. ## Ошибки **Превышение границ массива** При многократном индексировании по массиву легко превзойти границы массива (например, когда ваша программа пытается сослаться на 4-й элемент массива состоящего из 3 элементов). ```javascript // 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 ```javascript for (var i = 0; i < 9; i++) { console.log(i); } output: 0 1 2 3 4 5 6 7 8 ``` Выход из цикла до выражения условия false ```javascript 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 ``` ### Другие источники * [MDN - для заявлений](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)