blob: a9396d0e828f6b1b1df9ba3e126d8897367b475d (
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
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
|
---
title: do...while
slug: Web/JavaScript/Reference/Statements/do...while
translation_of: Web/JavaScript/Reference/Statements/do...while
---
<div>{{jsSidebar("Statements")}}</div>
<div></div>
<div>A declaração <strong><code>do...while</code><code> </code></strong>cria um laço que executa uma declaração até que o teste da condição for falsa (false). A condição é avaliada depois que o bloco de código é executado, resultando que uma declaração seja executada pelo menos uma vez.</div>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox">do
<em>statement</em>
while (<em>condition</em>);
</pre>
<dl>
<dt><code>declarações</code></dt>
<dd>A declaração é executada pelo menos uma vez e re-executada cada vez que a condição (<code>condition</code>) for avaliada como verdadeira (true). Para executar múltiplas declarações dentro do laço, use um {{jsxref("declaração/block", "block")}} declaração (<code>{ ... }</code>) ao grupo dessas declarações.</dd>
</dl>
<dl>
<dt><code>condição</code></dt>
<dd>Uma expressão é validade depois de cada passagem pelo laço. Se a condição <code>(condition) </code>é avaliada como verdadeira (true) o bloco de código é executado novamente. Quando a condição <code>(condition) </code>é avaliada como falsa (false), o controle passa para a instrução seguinte ao laço <strong>do...while</strong>.</dd>
</dl>
<h2 id="Exemplos">Exemplos</h2>
<h3 id="Usando_do...while">Usando <code>do...while</code></h3>
<p>No exemplo seguinte, o laço <strong>do...while</strong> soma pelo menos uma vez e executa novamente até <code>i</code> não ser menor que 5.</p>
<h3 id="Conteúdo_HTML">Conteúdo HTML </h3>
<pre class="brush: html"><div id="exemplo"></div></pre>
<h3 id="Conteúdo_JavaScript">Conteúdo JavaScript </h3>
<pre class="brush: js">var resultado = '';
var i = 0;
do {
i += 1;
resultado += i + ' ';
} while (i < 5);
document.getElementById('exemplo').innerHTML = resultado;</pre>
<h3 id="Resultado">Resultado</h3>
<p>{{ EmbedLiveSample('Exemplos') }}</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>ECMAScript 3rd Edition.</td>
<td>Standard</td>
<td>Initial definition.<br>
Implemented in JavaScript 1.2</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-12.6.1', 'do-while statement')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td></td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-do-while-statement', 'do-while statement')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>Trailing ; is now optional.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_do_navegador">Compatibilidade do navegador</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>Basic support</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>IE6+</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>Basic support</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>{{jsxref("Statements/while", "while")}}</li>
<li>{{jsxref("Statements/for", "for")}}</li>
</ul>
|