diff options
Diffstat (limited to 'files/ca/web/javascript/referencia/sentencies/block/index.html')
-rw-r--r-- | files/ca/web/javascript/referencia/sentencies/block/index.html | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/files/ca/web/javascript/referencia/sentencies/block/index.html b/files/ca/web/javascript/referencia/sentencies/block/index.html new file mode 100644 index 0000000000..cfa5d7fd20 --- /dev/null +++ b/files/ca/web/javascript/referencia/sentencies/block/index.html @@ -0,0 +1,138 @@ +--- +title: block +slug: Web/JavaScript/Referencia/Sentencies/block +translation_of: Web/JavaScript/Reference/Statements/block +--- +<div> +<div>{{jsSidebar("Statements")}}</div> +</div> + +<h2 id="Resum">Resum</h2> + +<p>Una<strong> sentència bloc</strong> (o <strong>sentència composta</strong> en altres llengües) s'usa per agrupar zero o més sentències. El bloc està delimitat per un parell de claus.</p> + +<h2 id="Sintaxi">Sintaxi</h2> + +<pre class="syntaxbox">{ + <var>sentència_1</var>; + <var>sentència_2;</var> + ... + <var>sentència_n;</var> +} +</pre> + +<dl> + <dt><code>statement_1</code>, <code>statement_2</code>, <code>statement_n</code></dt> + <dd>Sentències agrupades dins la sentència block.</dd> +</dl> + +<h2 id="Descripció">Descripció</h2> + +<p>Aquesta sentència s'utilitza normalment amb les sentències de control de flux (p.ex. <code>if</code>, <code>for</code>, <code>while</code>). Per exemple:</p> + +<pre class="brush: js">while (x < 10) { + x++; +} +</pre> + +<p>Tingueu en compte que la sentència block no acaba amb un punt i coma.</p> + +<p>La sentència bloc sovint s'anomena <strong>sentència composta</strong> en altres llengües. Aquesta sentència permet usar múltiples sentències allà on JavaScript espera només una única sentència. Combinar sentències en blocs és una pràctica comuna en JavaScript. El comportament oposat és possible fent servir una <a href="/en-US/docs/Web/JavaScript/Reference/Statements/Empty">sentència buida</a>, on no es proporciona cap declaració, encara que es requereixi una.</p> + +<h3 id="Fora_de_l'àmbit_del_bloc">Fora de l'àmbit del bloc</h3> + +<p><strong>Important</strong>: Les variables declarades amb <code>var</code> no tenen àmbit de bloc. Les variables introduïdes amb un bloc estàn en l'àmbit de la funció o l'script que els conté, i els efectes d'establir-los persisteixen més enllà del mateix bloc. En altres paraules, les sentències de bloc no introdueixen un àmbit. Encara que els blocs "independents" són sintàcticament vàlids, no és desitjable usar-los en JavaScript, ja que no fan el que pensem que fan, en el cas que penseu que fan alguna cosa semblant als blocs en C o Java. Per exemple:</p> + +<pre class="brush: js">var x = 1; +{ + var x = 2; +} +console.log(x); // logs 2 +</pre> + +<p>Això registra 2 ja que la sentència <code>var x</code> dins el bloc es troba en el mateix àmbit que la sentència <code>var x</code> anterior al bloc. En C o Java, el codi equivalent hauria emès 1.</p> + +<h2 id="Especificacions">Especificacions</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Especificacions</th> + <th scope="col">Estat</th> + <th scope="col">Comentaris</th> + </tr> + <tr> + <td>1a edició d'ECMAScript.</td> + <td>Estàndard</td> + <td>Definició inicial. Implementat en JavaScript 1.0</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-12.1', 'Block statement')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-block', 'Block 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>{{jsxref("Statements/while", "while")}}</li> +</ul> |