diff options
Diffstat (limited to 'files/pt-br/web/javascript/reference/statements/for_each...in/index.html')
| -rw-r--r-- | files/pt-br/web/javascript/reference/statements/for_each...in/index.html | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/statements/for_each...in/index.html b/files/pt-br/web/javascript/reference/statements/for_each...in/index.html new file mode 100644 index 0000000000..8206aa9f5a --- /dev/null +++ b/files/pt-br/web/javascript/reference/statements/for_each...in/index.html @@ -0,0 +1,126 @@ +--- +title: for each...in +slug: Web/JavaScript/Reference/Statements/for_each...in +tags: + - Declaração + - Deprecado + - Deprecated + - JavaScript + - Obsoleto +translation_of: Archive/Web/JavaScript/for_each...in +--- +<div>{{jsSidebar("Statements")}}</div> + +<div class="warning"> +<p>A declaração <code>for each...in</code> está obsoleta como parte do padrão ECMA-357 (<a href="/en-US/docs/Archive/Web/E4X" title="/en-US/docs/E4X">E4X</a>). O suporte E4X foi removido, mas o for each...in não será desativado e removido por questões de compatibilidade que precisam ser consideradas. Ao invés disso, procure utilizar <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of" title="/en-US/docs/JavaScript/Reference/Statements/for...of">for...of</a>. (Por favor, referir-se a {{ bug("791343")}}.)</p> + +<p><strong>O Firefox agora alerta sobre o uso de <code>for each...in e não funciona mais no Firefox Nighly.</code> Por favor veja <a href="/pt-BR/docs/Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated">Alerta: Loops for-each-in do JavaScript 1.6 estão obsoletos</a> para ajuda com a migração.</strong></p> +</div> + +<p>A <code><strong>declaração for each...in</strong></code> repete uma variável especifica sobre todos os valores das propriedades do objeto. Para cada propriedade distinta, uma declaração específica é executada.</p> + +<h2 id="Sintaxe">Sintaxe</h2> + +<pre class="syntaxbox"><code>for each (<em>variable</em> in <em>object</em>) { + <em>statement</em> +}</code></pre> + +<dl> + <dt><code>variável</code></dt> + <dd>Variável que itera sobre o valor da propriedade, opcionalmente declarado com a palavra-chave <code>var</code>. Essa variável é local à função, não ao loop.</dd> +</dl> + +<dl> + <dt><code>objeto</code></dt> + <dd>Objeto ao qual as propriedades são iteradas.</dd> +</dl> + +<dl> + <dt><font face="Consolas, Liberation Mono, Courier, monospace">declaração</font></dt> + <dd>Uma declaração a ser executada para cada propriedade. Para executar múltiplas declaração dentro do loop, utilize um <a href="/en-US/docs/Web/JavaScript/Reference/Statements/block" title="JavaScript/Reference/Statements/block">bloco</a> de declaração (<code>{ ... }</code>) para agrupar estas declarações.</dd> +</dl> + +<h2 id="Descrição">Descrição</h2> + +<p>Algumas propriedades internas não são iterada. Isso inclui todos os métodos internos dos objetos, ex. o método <code>String</code>'s <code>indexOf</code> . No entanto, todas propriedades definidas pelo usuários são iteradas.</p> + +<h2 id="Exemplos">Exemplos</h2> + +<h3 id="Usando_for_each...in">Usando <code>for each...in</code></h3> + +<p><strong>Atenção:</strong> Nunca utiliza um loop assim com arrays. Apenas utilize em objetos. Veja <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> para mais detalhes.</p> + +<p>O seguinte código itera sobre as propriedades do objeto, calculando sua soma:</p> + +<pre class="brush:js">var sum = 0; +var obj = {prop1: 5, prop2: 13, prop3: 8}; + +for each (var item in obj) { + sum += item; +} + +console.log(sum); // escreve no log "26", que é 5+13+8</pre> + +<h2 id="Especifições">Especifições</h2> + +<p>Não faz parte da atual especificação ECMA-262. Implementado no JavaScript 1.6 e está obsoleto.</p> + +<h2 id="Compatibilidade_de_Browsers">Compatibilidade de 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>Basic support</td> + <td>{{CompatNo}}</td> + <td>{{CompatGeckoDesktop("1.8")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</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>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatGeckoMobile("1.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in" title="JavaScript/Reference/Statements/for...in">for...in</a></code> - uma declaração similar que itera sobre a propriedade <em>names</em>.</li> + <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of" title="/en-US/docs/JavaScript/Reference/Statements/for...of">for...of</a></code> - uma declaração similar que itera sobre os <em>valores</em> da propriedade mas pode ser utilizado para iterar tipos, então para para objetos genéricos.</li> + <li><code><a href="/en-US/docs/JavaScript/Reference/Statements/for" title="JavaScript/Reference/Statements/for">for</a></code></li> +</ul> |
