Оператор цикла while
Прокручивать блок кода, пока i меньше 5:
let text = "";
let i = 0;
while (i < 5) {
text += i + "<br>";
i++;
}
Попробуйте сами »
Прокручивать (перебирать) массив для сбора названий автомобилей:
const cars = ["БМВ", "Вольво", "Сааб", "Форд"];
let text = "";
let i = 0;
while (i < cars.length) {
text += cars[i] + "<br>";
i++;
}
Попробуйте сами »
- Цикл начинается с позиции 0 (
let i = 0). - Цикл увеличивает
iдля каждого запуска (i++). - Цикл выполняется до тех пор, пока
i < cars.length.
Смотрите примеры ниже.
Описание
Оператор while создает цикл (вокруг блока кода), который выполняется, пока условие true.
Цикл выполняется, пока условие имеет значение true. В противном случае он останавливается.
См. также:
JavaScript Loop Statements
| Заявление | Описание | |
|---|---|---|
| break | Выход из цикла | |
| continue | Пропускает значение в цикле | |
| while | Зацикливает блок кода, пока условие истинно | |
| do... while | Зацикливает блок кода один раз, а затем, пока условие истинно | |
| for | Зацикливает блок кода, пока условие истинно | |
| for...of | Прокручивает значения любой итерации | |
| for...in | Прокручивает свойства объекта |
Синтаксис
while (condition) {
блок кода, который необходимо выполнить
}
Параметры
| Параметр | Описание |
| condition | Обязательно. Условие запуска блока кода. Если он возвращает true, отсчет кода начнется заново, в противном случае он закончится. |
Примечание
Если условие всегда истинно, цикл никогда не завершится. Это приведет к сбою вашего браузера.
Если вы используете переменную в условии, вы должны инициализировать ее перед циклом и увеличивать ее внутри цикла. В противном случае цикл никогда не закончится. Это также приведет к сбою вашего браузера.
Ещё примеры
Пройти по массиву в порядке убывания (отрицательное приращение):
const cars = ["БМВ", "Вольво", "Сааб", "Форд"];
let text = "";
let len = cars.length;
while (len--) {
text += cars[len] + "<br>";
}
Попробуйте сами »
Использование разрыва — цикл по блоку кода, но выход из цикла, когда i == 3:
let text = "";
let i = 0;
while (i < 5) {
text += i + "<br>";
i++;
if (i == 3) break;
}
Попробуйте сами »
Использование continue – пройти по блоку кода, но пропустить значение 3:
let text = "";
let i = 0;
while (i < 5) {
i++;
if (i == 3) continue;
text += i + "<br>";
}
Попробуйте сами »
Поддержка браузера
while — это функция ECMAScript1 (ES1).
ES1 (JavaScript 1997) полностью поддерживается во всех браузерах:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Да | Да | Да | Да | Да | Да |