1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
---
title: while
slug: Web/JavaScript/Reference/Statements/while
tags:
- JavaScript
- Оператор
- Цикл
translation_of: Web/JavaScript/Reference/Statements/while
---
<div>{{jsSidebar("Statements")}}</div>
<p><strong>Оператор while</strong> создаёт цикл, выполняющий заданную инструкцию, пока истинно проверяемое условие. Логическое значение условия вычисляется перед исполнением тела цикла.</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox">while (<em>условие</em>) {
<em>инструкция</em>
}</pre>
<dl>
<dt><code>условие</code></dt>
<dd>Выражение, логическое значение которого проверяется каждый раз перед заходом в цикл. Если значение истинно, то исполняется <code>инструкция</code>. Когда значение становится ложным, выполняется код, следующий за циклом <code>while</code>.</dd>
<dt><code>инструкция</code></dt>
<dd>Инструкция, которая исполняется каждый раз, пока истинно условие. Чтобы выполнить несколько инструкций в цикле, используйте <a href="/ru/docs/Web/JavaScript/Reference/Statements/block">блочный</a> оператор (<code>{ ... }</code>) для их группировки.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<p>Следующий цикл <code>while</code> исполняется, пока <code>n</code> не превышает трёх.</p>
<pre class="brush:js">var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}</pre>
<p>На каждой итерации цикла <code>n</code> увеличивается на единицу и прибавляется к <code>x</code>. Таким образом, <code>x</code> и <code>n</code> принимают следующие значения:</p>
<ul>
<li>После первого прохода: <code>n</code> = 1 и <code>x</code> = 1</li>
<li>после второго прохода: <code>n</code> = 2 и <code>x</code> = 3</li>
<li>После третьего прохода: <code>n</code> = 3 и <code>x</code> = 6</li>
</ul>
<p>После окончания третьей итерации условие<code> n</code> < 3 больше не является истинным, поэтому цикл завершается.</p>
<h2 id="Спецификации">Спецификации</h2>
{{Specifications}}
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<p>{{Compat}}</p>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li><a href="/ru/docs/Web/JavaScript/Reference/Statements/do...while"><code>do...while</code></a></li>
<li>{{jsxref("Statements/for", "for")}}</li>
</ul>
|