aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/statements/while/index.html
blob: e1f3e435c6f80a8a402fe8883576e054a9c9d998 (plain)
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 &lt; 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> &lt; 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>