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
|
---
title: do...while
slug: Web/JavaScript/Reference/Statements/do...while
translation_of: Web/JavaScript/Reference/Statements/do...while
original_slug: Web/JavaScript/Referencia/Sentencies/do...while
---
<div>{{jsSidebar("Statements")}}</div>
<p>La <strong>sentència</strong> <strong><code>do...while</code> </strong> crea un bucle que executa una sentència especificada fins que la condició avalui a fals. La condició s'avalua després de la sentència, donant lloc a l'execució de la sentència especificada almenys un cop.</p>
<h2 id="Sintaxi">Sintaxi</h2>
<pre class="syntaxbox">do
<em>sentència</em>
while (<em>condició</em>);
</pre>
<dl>
<dt><code>sentència</code></dt>
<dd>Una sentència que s'executa almenys un cop i que es torna a executar cada cop que la condició avalui a certa. Per executar múltiples sentències dins d'un bucle, utilitzeu una sentència {{jsxref("Statements/block", "block")}} (<code>{ ... }</code>) per agrupar aquestes sentències.</dd>
</dl>
<dl>
<dt><code>condició</code></dt>
<dd>Una expressió que s'avalua després de cada volta del bucle. si <code>condició</code> avalua a certa, la <code>sentència</code> es torna a executar. Quan la <code>condició</code> avalua a falç, control passa a la següent sentència que segueix el <code>do...while</code>.</dd>
</dl>
<h2 id="Exemples">Exemples</h2>
<h3 id="Utilitzar_el_do...while">Utilitzar el <code>do...while</code></h3>
<p>En l'exemple següent, el bucle <code>do...while</code> itera almenys un cop i torna a iterar fins que <code>i</code> deixa de ser més petit que 5.</p>
<pre class="brush: js">var i = 0;
do {
i += 1;
console.log(i);
} while (i < 5);
</pre>
<h2 id="Especificacions">Especificacions</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificació</th>
<th scope="col">Estat</th>
<th scope="col">Comentaris</th>
</tr>
<tr>
<td>{{SpecName('ES3')}}</td>
<td>{{Spec2('ES3')}}</td>
<td>Definició inicial. Implementat en 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 ; ara és opcional.</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Característica</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Suport bàsic</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>6</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Característica</th>
<th>Android</th>
<th>Chrome per Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Suport bàsic</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="Vegeu_també">Vegeu també</h2>
<ul>
<li>{{jsxref("Statements/while", "while")}}</li>
<li>{{jsxref("Statements/for", "for")}}</li>
</ul>
|