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
|
---
title: while
slug: Web/JavaScript/Reference/Statements/while
translation_of: Web/JavaScript/Reference/Statements/while
original_slug: Web/JavaScript/Referencia/Sentencies/while
---
<div>{{jsSidebar("Statements")}}</div>
<h2 id="Summary" name="Summary">Resum</h2>
<p>la <strong>sentència while</strong> crea un bucle que executa una sentència especificada sempre que la condició s'avalui certa. La condició s'avalua abans d'executar la sentència..</p>
<h2 id="Syntax" name="Syntax">Sintaxi</h2>
<pre class="syntaxbox">while (<em>condició</em>) {
<em>sentència</em>
}</pre>
<dl>
<dt><code>condició</code></dt>
<dd>Una expressió que s'avalua abans de cada passada del bucle. Si aquesta condició esdevé certa, s'executa la <code>sentència</code>. Quan la condició esdevé falsa, l'execució continua amb la sentència posterior al bucle <code>while</code>.</dd>
<dt><code>sentència</code></dt>
<dd>Una sentència que s'executa sempre que la condició esdevingui certa. Per executar múltiples sentències dins un bucle, podeu fer ús de la sentència <a href="/en-US/docs/JavaScript/Reference/Statements/block" title="JavaScript/Reference/Statements/block">block</a> (<code>{ ... }</code>) per agrupar aquestes sentències.</dd>
</dl>
<h2 id="Examples" name="Examples">Exemples</h2>
<p>El següent bucle <code>while</code> itera sempre que <code>n</code> sigui menor que tres.</p>
<pre class="brush:js">var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}</pre>
<p>En cada iteració, el bucle incrementa <code>n</code> i ho suma a <code>x</code>. Per tant, <code>x</code> i <code>n</code> prenen els següents valors:</p>
<ul>
<li>Després de la primera volta: <code>n</code> = 1 i <code>x</code> = 1</li>
<li>Després de la segona volta: <code>n</code> = 2 i <code>x</code> = 3</li>
<li>Després de la tercera volta: <code>n</code> = 3 i <code>x</code> = 6</li>
</ul>
<p>Després de completar la tercera volta, la condició <code>n</code> < 3 ja no esdevé més certa, i per tant finalitza el bucle.</p>
<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>1a edició de ECMAScript.</td>
<td>Estàndard</td>
<td>Definició inicial.</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('ES6', '#sec-while-statement', 'while statement')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</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>{{ CompatVersionUnknown() }}</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="See_also" name="See_also">Vegeu també</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>
|