Bem-vindo ao site John Pires!

Javascript – Fund. Básicos

Início/Curso/Javascript – Fund. Básicos

Javascript – Aprendendo controle de loop



Javascript fornece controle total para lidar com loops e instruções de switch. Pode haver uma situação em que você precise sair de um loop sem atingir sua parte inferior. Também pode haver uma situação em que você deseja pular uma parte do seu bloco de código e iniciar a próxima iteração do loop.

Para lidar com todas essas situações, o Javascript fornece instruções break e continue. Essas instruções são usadas para sair imediatamente de qualquer loop ou para iniciar a próxima iteração de qualquer loop, respectivamente.

A declaração Break




A instrução break, que foi brevemente introduzida com a instrução switch, é usada para sair de um loop antecipadamente, saindo das chaves.

Exemplo

O exemplo a seguir ilustra o uso de uma instrução break com um loop while. Observe como o loop é interrompido logo que x atinge 5 e atinge a instrução document.write (..) logo abaixo da chave de fechamento.

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

Já vimos o uso da instrução break dentro de uma instrução switch.


A declaração Continue

A instrução continue diz ao interpretador para iniciar imediatamente a próxima iteração do loop e pular o bloco de código restante. Quando uma instrução continue é encontrada, o fluxo do programa se move para a expressão de verificação de loop imediatamente e, se a condição permanecer verdadeira, ele inicia a próxima iteração, caso contrário, o controle sai do loop.

Exemplo

Este exemplo ilustra o uso de uma instrução continue com um loop while. Observe como a instrução continue é usada para pular a impressão quando o índice mantido na variável x atinge 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;   // skip 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>

Usando rótulos para controlar o fluxo



A partir do JavaScript 1.2, um rótulo pode ser usado com pausa e continuar a controlar o fluxo com mais precisão. Um rótulo é simplesmente um identificador seguido por dois pontos (:) que é aplicado a uma instrução ou bloco de código. Veremos dois exemplos diferentes para entender como usar rótulos com break e continue.

Nota – Quebras de linha não são permitidas entre a instrução ‘continue’ ou ‘break’ e seu nome de rótulo. Além disso, não deve haver nenhuma outra instrução entre o nome do rótulo e o loop associado.

Experimente os dois exemplos a seguir para uma melhor compreensão dos rótulos.

Exemplo 1

O exemplo a seguir mostra como implementar Label com uma instrução 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>

Exemplo 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>



Deixe um comentário

ENTRAR

Esqueceu a senha