diff options
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.html | 101 |
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 < 3; i++) { //O primeiro 'for' é etiquetado com "loop1" + loop2: + for (j = 0; j < 3; j++) { //O segundo é etiquetado com "loop2" + if (i == 1 && 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 < items.length; i++){ + for (j = 0; j < 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 < 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> |