Break y continue
Dos instrucciones que aumentan el control sobre los bucles en Javascript. Sirven para parar y continuar con la siguiente iteración del bucle respectivamente.Javascript tiene diferentes estructuras de control para implementar bucles, como FOR, WHILE y DO...WHILE, que ya hemos podido explicar en capítulos anteriores del Manual de Javascript. Como hemos podido comprobar, con estos bucles podemos abarcar gran cantidad de necesidades, pero quizás con el tiempo encuentres que te faltan algunas posibilidades de control de las repeticiones de los bucles.
Imagina por ejemplo que estas haciendo un bucle muy largo para encontrar algo en cientos o miles de sitios. Pero ponte en el caso que durante las primeras iteraciones encuentres ese valor que buscabas. Entonces no tendría sentido continuar con el resto del bucle para buscar ese elemento, pues ya lo habías encontrado. En estas situaciones nos conviene saber para el bucle cancelar el resto de iteraciones. Obviamente, ésto es solo un ejemplo de cómo podríamos vernos en la necesidad de controlar un poco más el bucle. En la vida real como programador encontrarás muchas otras ocasiones en las que te interesará hacer esto u otras cosas con ellos.
Así pues, existen dos instrucciones que se pueden usar en de las distintas estructuras de control y principalmente en los bucles, que te servirán para controlar dos tipos de situaciones. Son las instrucciones break y continue.:
- break: Significa detener la ejecución de un bucle y salirse de él.
- continue: Sirve para detener la iteración actual y volver al principio del bucle para realizar otra iteración, si corresponde.
Break
Se detiene un bucle utilizando la palabra break. Detener un bucle significa salirse de él y dejarlo todo como está para continuar con el flujo del programa inmediatamente después del bucle.for (i=0;i<10;i++){
document.write (i)
escribe = prompt("dime si continuo preguntando...", "si")
if (escribe == "no")
break
}
Este ejemplo escribe los números del 0 al 9 y en cada iteración del bucle pregunta al usuario si desea continuar. Si el usuario dice cualquier cosa continua, excepto cuando dice "no", situación en la cual se sale del bucle y deja la cuenta por donde se había quedado.
Continue
Sirve para volver al principio del bucle en cualquier momento, sin ejecutar las líneas que haya por debajo de la palabra continue.var i=0
while (i<7){
incrementar = prompt("La cuenta está en " + i + ", dime si incremento", "si")
if (incrementar == "no")
continue
i++
}
Este ejemplo, en condiciones normales contaría hasta desde i=0 hasta i=7, pero cada vez que se ejecuta el bucle pregunta al usuario si desea incrementar la variable o no. Si introduce "no" se ejecuta la sentencia continue, con lo que se vuelve al principio del bucle sin llegar a incrementar en 1 la variable i, ya que se ignorarían las sentencia que hayan por debajo del continue.
Ejemplo adicional de la sentencia break
Un ejemplo más práctico sobre estas instrucciones se puede ver a continuación. Se trata de un bucle FOR planeado para llegar hasta 1.000 pero que lo vamos a parar con break cuando lleguemos a 333.for (i=0;i<=1000;i++){
document.write(i + "<br>")
if (i==333)
break;
}
Podemos ver una página con el ejemplo en funcionamiento.
Con la descripción de las sentencias break y continue hemos podido abarcar todo lo que se debe saber sobre la creación de bucles en Javascript. Ahora bien, en el siguiente artículo todavía vamos a seguir en el tema de las estructuras de control, porque queremos ofrecer un ejemplo un poco más avanzado donde aprenderemos a anidar bucles.