aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/javascript/reference/statements/label/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pt-br/web/javascript/reference/statements/label/index.html')
-rw-r--r--files/pt-br/web/javascript/reference/statements/label/index.html101
1 files changed, 101 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/statements/label/index.html b/files/pt-br/web/javascript/reference/statements/label/index.html
new file mode 100644
index 0000000000..b1f9aeb5af
--- /dev/null
+++ b/files/pt-br/web/javascript/reference/statements/label/index.html
@@ -0,0 +1,101 @@
+---
+title: label (Etiqueta)
+slug: Web/JavaScript/Reference/Statements/label
+tags:
+ - JavaScript
+ - Statement
+translation_of: Web/JavaScript/Reference/Statements/label
+---
+<div>{{jsSidebar("Statements")}}</div>
+
+<p>Provém uma declaração com um indentificador o qual pode ser referido posteriormente utilizando-se os comandos <em>break</em> ou <em>continue</em>.</p>
+
+<p>Por exemplo, você pode usar um <em>label</em> para identificar um laço e então com um comando de <em>break</em> ou <em>continue</em> indicar se este deve ser interrompido ou então continuar sua execução.</p>
+
+<h2 id="Syntax" name="Syntax">Sintaxe</h2>
+
+<pre class="syntaxbox"><em>label</em> :
+ declaração
+</pre>
+
+<h3 id="Parameters" name="Parameters">Parâmetros</h3>
+
+<dl>
+ <dt><code>label</code></dt>
+ <dd>Qualquer idenfiticador JavaScript válido que não é uma palavra reservada.</dd>
+ <dt><code>declaração</code></dt>
+ <dd>Uma declaração qualquer. <em>break</em> pode ser utilizado com qualquer declaração entiquetada (com <em>label</em>) , assim como o <em>continue</em> também pode.</dd>
+</dl>
+
+<div class="warning">
+<h3 id="Avoid_using_labels" name="Avoid_using_labels">Evite usar labels</h3>
+
+<p>Labels não são comunmente utilizados em JavaScript já que estes fazem com que programas fiquei mais difíceis de ler e entender. Sempre que possível evite utilizar labels e, dependendo dos casos, prefira <a href="https://developer.mozilla.org/pt-BR/docs/JavaScript/Reference/Statements/function">chamar funções</a> ou <a href="https://developer.mozilla.org/pt-BR/docs/JavaScript/Reference/Statements/throw">lançar um erro</a>.</p>
+</div>
+
+<h2 id="Examples" name="Examples">Examplos</h2>
+
+<h3 id="Example_1" name="Example_1"><code>Exemplo com continue</code></h3>
+
+<pre class="brush: js">var i, j;
+
+loop1:
+for (i = 0; i &lt; 3; i++) { //O primeiro 'for' é etiquetado com "loop1"
+ loop2:
+ for (j = 0; j &lt; 3; j++) { //O segundo é etiquetado com "loop2"
+ if (i == 1 &amp;&amp; j == 1) {
+ continue loop1;
+ } else {
+ console.log("i = " + i + ", j = " + j);
+ }
+ }
+}
+
+// Sua saída é:
+// "i = 0, j = 0"
+// "i = 0, j = 1"
+// "i = 0, j = 2"
+// "i = 1, j = 0"
+// "i = 2, j = 0"
+// "i = 2, j = 1"
+// "i = 2, j = 2"
+// Note como pula-se "i = 1, j = 1" e "i = 1, j = 2"
+</pre>
+
+<h3 id="Example_2" name="Example_2">Exemplo 2 <code>(continue)</code></h3>
+
+<p>Dado uma lista de itens e outra de testes, este exemplo conta o número de ítens que passam em todos os testes.</p>
+
+<pre class="brush: js">var itemsPassed = 0;
+var i, j;
+
+top:
+for (i = 0; i &lt; items.length; i++){
+ for (j = 0; j &lt; tests.length; j++)
+ if (!tests[j].pass(items[i]))
+ continue top;
+ itemsPassed++;
+}</pre>
+
+<h3 id="Example_3" name="Example_3">Exemplo 3 <code>(break)</code></h3>
+
+<p>Dado uma lista de ítens e uma lista de testes, neste exemplo determina-se se todos os ítens passam em todos os testes.</p>
+
+<pre class="brush: js">var allPass = true;
+var i, j;
+
+top:
+for (i = 0; items.length; i++)
+ for (j = 0; j &lt; tests.length; i++)
+ if (!tests[j].pass(items[i])){
+ allPass = false;
+ break top;
+ }
+</pre>
+
+<h2 id="See_also" name="See_also">Veja também</h2>
+
+<ul>
+ <li><a href="/en-US/docs/JavaScript/Reference/Statements/break" title="JavaScript/Reference/Statements/break">break</a></li>
+ <li><a href="/en-US/docs/JavaScript/Reference/Statements/continue" title="JavaScript/Reference/Statements/continue">continue</a></li>
+</ul>