domingo, 20 de septiembre de 2015

JavaScript - Control de Bucle

JavaScript proporciona un control total para manejar bucles y sentencias switch. Puede haber una situación en la que usted necesita para salir de un bucle sin alcanzar en su parte inferior. También puede haber una situación en la que desea omitir una parte de su bloque de código y empezar la siguiente iteración de la mirada.
Para hacer frente a todas estas situaciones, JavaScript proporciona romper y seguirinstrucciones. Estas declaraciones se utilizan para venir inmediatamente de cualquier lazo o para iniciar la siguiente iteración de cualquier bucle respectivamente.

La sentencia break

La ruptura declaración, que fue presentado brevemente con el interruptor dedeclaración, se utiliza para salir de un bucle temprano, salir de las llaves que encierran.

Diagrama de Flujo

El diagrama de flujo de una sentencia break se vería de la siguiente manera -
Sentencia break

Ejemplo

El siguiente ejemplo ilustra el uso de una ruptura declaración con un bucle while.Observe cómo el lazo se rompe antes de tiempo una vez x alcanza el 5 y llega adocument.write (..) declaración justo debajo de la llave de cierre -
<html>
<body>

<script type="text/javascript">
<!--
var x = 1;
document
.write("Entering the loop<br /> ");

while (x < 20)
{
if (x == 5){
break; // breaks out of loop completely
}
x
= x + 1;
document
.write( x + "<br />");
}

document
.write("Exiting the loop!<br /> ");
//-->
</script>

<p>Set the variable to different value and then try...</p>
</body>
</html>

Salida

Entering the loop
2
3
4
5
Exiting the loop!
Set the variable to different value and then try...
Ya hemos visto el uso de ruptura declaración dentro de un interruptor comunicado.

La sentencia continue

El continuar declaración dice al intérprete para iniciar de inmediato la siguiente iteración del bucle y salte el bloque de código restante. Cuando un continuar se encuentra comunicado, el flujo del programa se desplaza a la comprobación de la expresión bucle de inmediato y si la condición sigue siendo cierto, entonces se inicia la siguiente repetición, de lo contrario el control sale del bucle.

Ejemplo

Este ejemplo ilustra el uso de un continuar declaración con un bucle while. Observe cómo el seguir se utiliza comunicado saltarse la impresión cuando el índice se celebró en la variable x alcanza 5 -
<html>
<body>

<script type="text/javascript">
<!--
var x = 1;
document
.write("Entering the loop<br /> ");

while (x < 10)
{
x
= x + 1;

if (x == 5){
continue; // skill rest of the loop body
}
document
.write( x + "<br />");
}

document
.write("Exiting the loop!<br /> ");
//-->
</script>

<p>Set the variable to different value and then try...</p>
</body>
</html>

Salida

Entering the loop
2
3
4
6
7
8
9
10
Exiting the loop!

Utilización de etiquetas para controlar el flujo

A partir de JavaScript 1.2, una etiqueta se puede utilizar con pausa y continuar para controlar el flujo de manera más precisa. Una etiqueta es simplemente un identificador seguido de dos puntos (:) que se aplica a una declaración o un bloque de código.Veremos dos ejemplos diferentes de entender cómo usar las etiquetas con rotura de puente y continuar.
Nota - Los saltos de línea no están permitidas entre el 'continuar' o 'break' declaración y su nombre de la etiqueta. Además, no debe haber ninguna otra declaración por entre un nombre de etiqueta y el bucle asociado.
Pruebe las siguientes dos ejemplos para una mejor comprensión de las etiquetas.

Ejemplo 1

El siguiente ejemplo muestra cómo implementar la etiqueta con una sentencia break.
<html>
<body>

<script type="text/javascript">
<!--
document
.write("Entering the loop!<br /> ");
outerloop
: // This is the label name

for (var i = 0; i < 5; i++)
{
document
.write("Outerloop: " + i + "<br />");
innerloop
:
for (var j = 0; j < 5; j++)
{
if (j > 3 ) break ; // Quit the innermost loop
if (i == 2) break innerloop; // Do the same thing
if (i == 4) break outerloop; // Quit the outer loop
document
.write("Innerloop: " + j + " <br />");
}
}

document
.write("Exiting the loop!<br /> ");
//-->
</script>

</body>
</html>

Salida

Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 2
Outerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 4
Exiting the loop!

Ejemplo 2

<html>
<body>

<script type="text/javascript">
<!--
document
.write("Entering the loop!<br /> ");
outerloop
: // This is the label name

for (var i = 0; i < 3; i++)
{
document
.write("Outerloop: " + i + "<br />");
for (var j = 0; j < 5; j++)
{
if (j == 3){
continue outerloop;
}
document
.write("Innerloop: " + j + "<br />");
}
}

document
.write("Exiting the loop!<br /> ");
//-->
</script>

</body>
</html>

Salida

Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2
Exiting the loop!

No hay comentarios:

Publicar un comentario