JavaScript for
Цикл через блок кода пять раз:
var text = "";
var i;
for (i = 0; i < 5; i++) {
text += "Это число таково " + i + "<br>";
}
Попробуйте сами »
Определение for
Оператор for создает цикл, который выполняется до тех пор, пока условие истинно.
Цикл будет продолжаться до тех пор, пока условие истинно. Он остановится только тогда, когда условие станет ложным.
JavaScript поддерживает различные виды циклов:
- for - циклы через блок кода несколько раз
- for/in - циклы через свойства объекта
- for/of - цикл перебирает значения итеративного объекта
- while - цикл проходит через блок кода, пока заданное условие истинно
- do/while - цикл проходит через блок кода один раз, а затем повторяет цикл, пока заданное условие истинно
Совет: Использовать оператор break, чтобы вырваться из цикла, и оператор continue для пропуска значения в цикле.
Поддержка for
Заявление | |||||
---|---|---|---|---|---|
for | Да | Да | Да | Да | Да |
Синтаксис for
for (statement 1; statement 2; statement 3) {
блок кода для выполнения
}
Значения параметров for
Параметр | Описание |
---|---|
statement1 | Необязательный. Выполняется до запуска цикла (блока кода). Обычно этот оператор используется для инициализации переменной счетчика. Чтобы инициировать несколько значений, разделите каждое значение запятой. Примечание: Этот параметр можно опустить. Однако не опускайте точку с запятой ";" |
statement2 | Необязательный. Определяет условие выполнения цикла (блок кода). Обычно это утверждение используется для оценки состояния переменной счетчика. Если он возвращает true, цикл начнется снова, если он возвращает false, цикл закончится. Примечание: Этот параметр можно опустить. Однако не опускайте точку с запятой ";". Кроме того, если вы опустите этот параметр, вы должны обеспечить разрыв внутри цикла. В противном случае цикл никогда не закончится, что приведет к краху вашего браузера |
statement3 | Необязательный. Выполняется каждый раз после выполнения цикла (блока кода). Обычно этот оператор используется для увеличения или уменьшения переменной счетчика. Примечание: Этот параметр может быть опущен (например, для увеличения/уменьшения значений внутри цикла) |
Технические детали for
Версия JavaScript: | ECMAScript 1 |
---|
Примеры for
Цикл по индексам массива для сбора названий автомобилей из массива cars:
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
Попробуйте сами »
Объяснение примера:
- Во-первых, мы устанавливаем переменную перед началом цикла (var i = 0;)
- Затем мы определяем условие выполнения цикла. Пока переменная меньше длины массива (которая равна 4), цикл будет продолжаться
- Каждый раз, когда цикл выполняется, переменная увеличивается на единицу (i++)
- Как только переменная больше не будет меньше 4 (длина массива), условие будет ложным, и цикл закончится
Инициировать несколько значений в первом параметре:
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var i;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
Попробуйте сами »
Опустите первый параметр (установите значения перед началом цикла):
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
Попробуйте сами »
Использование оператора continue - Цикл через блок кода, но пропустить значение "3":
var text = "";
var i;
for (i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
text += "Это число таково " + i + "<br>";
}
Попробуйте сами »
Использование оператора break - Цикл через блок кода, но выход из цикла, когда переменная i равна "3":
var text = "";
var i;
for (i = 0; i < 5; i++) {
if (i == 3) {
break;
}
text += "Это число таково " + i + "<br>";
}
Попробуйте сами »
Опустите второй параметр. В этом примере мы также используем break оператор для выхода из цикла, когда i равно "3" (если второй параметр опущен, необходимо обеспечить разрыв внутри цикла. В противном случае цикл никогда не закончится, и ваш браузер рухнет):
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var text = "";
var i;
for (i = 0; ; i++) {
if (i == 3) {
break;
}
text += cars[i] + "<br>";
}
Попробуйте сами »
Цикл по индексам массива в порядке убывания (отрицательное приращение):
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var text = "";
var i;
for (i = cars.length - 1; i >= 0; i--) {
text += cars[i] + "<br>";
}
Попробуйте сами »
Опустите последний параметр и увеличьте значения внутри цикла:
var cars = ["БМВ", "Вольво", "Сааб", "Ford"];
var i = 0;
var len = cars.length;
for (; i < len;) {
text += cars[i] + "<br>";
i++;
}
Попробуйте сами »
Пройдите по узлам объекта Нетdelist и измените цвет фона всех элементов <p> в списке:
var myНетdelist = document.getElementsByTagName("P");
var i;
for (i = 0; i < myНетdelist.length; i++) {
myНетdelist[i].style.backgroundColor = "red";
}
Попробуйте сами »
Пример вложенного цикла (цикл внутри цикла):
var text = "";
var i, j;
for (i = 0; i < 3; i++) {
text += "<br>" + "i = " + i + ", j = ";
for (j = 10; j < 15; j++) {
document.getElementById("demo").innerHTML = text += j + " ";
}
}
Попробуйте сами »
Связанные страницы for
JavaScript учебник: JavaScript For Loop
JavaScript справочник: JavaScript Заявление for ... in
JavaScript справочник: JavaScript Заявление break
JavaScript справочник: JavaScript Заявление continue
JavaScript справочник: JavaScript Заявление while