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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
---
title: while
slug: Web/JavaScript/Reference/Statements/while
tags:
- Declaração
- JavaScript
translation_of: Web/JavaScript/Reference/Statements/while
---
<div>{{jsSidebar("Statements")}}</div>
<p>A <strong>declaração while</strong> cria um laço que executa uma rotina especifica enquanto a condição de teste for avaliada como verdadeira. A condição é avaliada antes da execução da rotina.</p>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox">while (<code>condição</code>) {
rotina
}</pre>
<dl>
<dt><code>condição</code></dt>
<dd>Uma expressão avaliada antes de cada passagem através do laço. Se essa condição for avaliada como verdadeira, a rotina é executada. Quando a condição for avaliada como falsa, a execução continua na declaração depois do laço<code> while</code>.</dd>
<dt>rotina</dt>
<dd>Uma declaração que é executada enquanto a condição é avaliada como verdadeira. Para executar multiplas declarações dentro de um laço, use uma declaração em <a href="/en-US/docs/" title="JavaScript/Reference/Statements/block">bloco</a> (<code>{ ... }</code>) para agrupar essas declarações.</dd>
</dl>
<h2 id="Exemplos">Exemplos</h2>
<p>O seguinte laço <code>while</code> itera enquanto n é menor que três.</p>
<pre class="brush:js">var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}</pre>
<p>Cada iteração, o laço incrementa n e soma à x. Portanto, x e n assumem os seguintes valores:</p>
<ul>
<li>Depois da primeira passagem: n = 1 e x = 1</li>
<li>Depois da segunda passagem: n = 2 e x = 3</li>
<li>Depois da terceira passagem: n = 3 e x = 6</li>
</ul>
<p>Depois de completar a terceira passagem, a condição n < 3 não é mais verdadeira, então o laço termina.</p>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-while-statement', 'while statement')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-while-statement', 'while statement')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-12.6.2', 'while statement')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES3', '#sec-12.6.2', 'while statement')}}</td>
<td>{{Spec2('ES3')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES1', '#sec-12.6.1', 'while statement')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Definição inicial</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_nos_browsers">Compatibilidade nos browsers</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Suporte básico</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="Veja_Também">Veja Também</h2>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/do...while"><code>do...while</code></a></li>
<li>{{jsxref("Statements/for", "for")}}</li>
</ul>
|