label (Etiqueta)

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

Etiquetas do documento e colaboradores

Etiquetas: 
 Colaboradores desta página: teoli, cirocosta
 Última atualização por: teoli,