From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/statements/label/index.html | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/statements/label/index.html (limited to 'files/pt-br/web/javascript/reference/statements/label/index.html') 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 +--- +
{{jsSidebar("Statements")}}
+ +

Provém uma declaração com um indentificador o qual pode ser referido posteriormente utilizando-se os comandos break ou continue.

+ +

Por exemplo, você pode usar um label para identificar um laço e então com um comando de break ou continue indicar se este deve ser interrompido ou então continuar sua execução.

+ +

Sintaxe

+ +
label :
+   declaração
+
+ +

Parâmetros

+ +
+
label
+
Qualquer idenfiticador JavaScript válido que não é uma palavra reservada.
+
declaração
+
Uma declaração qualquer. break pode ser utilizado com qualquer declaração entiquetada (com label) , assim como o continue também pode.
+
+ +
+

Evite usar labels

+ +

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 chamar funções ou lançar um erro.

+
+ +

Examplos

+ +

Exemplo com continue

+ +
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"
+
+ +

Exemplo 2 (continue)

+ +

Dado uma lista de itens e outra de testes, este exemplo conta o número de ítens que passam em todos os testes.

+ +
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++;
+}
+ +

Exemplo 3 (break)

+ +

Dado uma lista de ítens e uma lista de testes, neste exemplo determina-se se todos os ítens passam em todos os testes.

+ +
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;
+    }
+
+ +

Veja também

+ + -- cgit v1.2.3-54-g00ecf