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