Declaración de etiqueta
La Declaración de la etiqueta se utiliza con los break
y continue
las declaraciones y sirve para identificar la declaración a la que los break
y continue
se aplican las declaraciones.
Hablaremos más sobre las declaraciones break
y a continue
continuación.
Sintaxis
labelname: statements
Uso
Sin el uso de una labeled
declaración, la break
declaración solo puede salir de un bucle o una switch
declaración. El uso de una labeled
declaración permite break
saltar de cualquier bloque de código.
Ejemplo
foo: { console.log("This prints:"); break foo; console.log("This will never print."); } console.log("Because execution jumps to here!") /* output This prints: Because execution jumps to here! */
Cuando se usa con una continue
declaración, la labeled
declaración le permite omitir una iteración de bucle, la ventaja proviene de poder saltar de un bucle interno a uno externo cuando tiene declaraciones de bucle anidadas. Sin el uso de una labeled
declaración, solo podría saltar de la iteración del bucle existente alnext iteration of the same loop.
Ejemplo
// without labeled statement, when j==i inner loop jumps to next iteration function test() { for (var i = 0; i < 3; i++) { console.log("i=" + i); for (var j = 0; j < 3; j++) { if (j === i) { continue; } console.log("j=" + j); } } } /* output i=0 (note j=0 is missing) j=1 j=2 i=1 j=0 (note j=1 is missing) j=2 i=2 j=0 j=1 (note j=2 is missing) */ // using a labeled statement we can jump to the outer (i) loop instead function test() { outer: for (var i = 0; i < 3; i++) { console.log("i=" + i); for (var j = 0; j < 3; j++) { if (j === i) { continue outer; } console.log("j=" + j); } } } /* i=0 (j only logged when less than i) i=1 j=0 i=2 j=0 j=1 */
Declaración de ruptura
La instrucción break termina el ciclo actual switch
o label
instrucción y transfiere el control del programa a la instrucción que sigue a la instrucción terminada.
break;
Si la instrucción break se usa en una instrucción etiquetada, la sintaxis es la siguiente:
break labelName;
Ejemplos
La siguiente función tiene un descanso declaración de que termina el while
bucle cuando i es 3 y, a continuación, devuelve el valor 3 * x .
function testBreak(x) { var i = 0; while (i < 6) { if (i == 3) { break; } i += 1; } return i * x; }

Ejecutar código
En el siguiente ejemplo, el contador está configurado para contar de 1 a 99; sin embargo, la instrucción break termina el ciclo después de 14 conteos.
for (var i = 1; i < 100; i++) { if (i == 15) { break; } }

Ejecutar código
Continuar declaración
La instrucción continue termina la ejecución de las instrucciones en la iteración actual del ciclo actual o etiquetado, y continúa la ejecución del ciclo con la siguiente iteración.
continue;
Si la instrucción continue se usa en una instrucción etiquetada, la sintaxis es la siguiente:
continue labelName;
A diferencia de la instrucción break , continue no termina la ejecución del bucle por completo; en lugar:
- En un
while
bucle, vuelve a la condición. - En un
for
bucle, salta a la expresión de actualización.
Ejemplos
El siguiente ejemplo muestra un while
ciclo que tiene una instrucción continue que se ejecuta cuando el valor de i es 3. Por lo tanto, n toma los valores 1, 3, 7 y 12.
var i = 0; var n = 0; while (i < 5) { i++; if (i === 3) { continue; } n += i; console.log (n); }

Ejecutar código
En el siguiente ejemplo, un ciclo itera del 1 al 9. Las declaraciones entre continue y el final del for
cuerpo se omiten debido al uso de la instrucción continue junto con la expresión (i < 5)
.
for (var i = 1; i < 10; i++) { if (i < 5) { continue; } console.log (i); }

Ejecutar código