07/05/2011

JavaScript: While, Do While e For

While, Do While e For são comandos que servem para manter uma porção do script executando repetidamente. Veja também: Algorítimo - Estrutura de repetição

Também conhecido como estrutura de repetição, iteração ou loop, esses comandos mantém a execução até que seu argumento seja falso.

A estrutura principal de while é: while (comparação) { código que será executado }

No exemplo abaixo, faremos um script para contar de 1 a 10.

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
  var numero = 1;
  while (numero<=10){
    document.write (numero+" ");
    numero++;
  }
//-->
</SCRIPT>

Isso irá resultar em: 1 2 3 4 5 6 7 8 9 10

Do While executa a mesma função que While, mas ambos têm uma pequena diferença. O comando while verifica a variável primeiro, e se ela for verdadeira, ele executa o código. Do While faz o contrário, ele executa o código primeiro e só depois verifica a variável, se ela for verdadeira, então ele executa o código novamente.

A estrutura principal de do while é: do { código que será executado } while (comparação);

Então, se fossemos reescrever o código acima usando do while ficaria:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
  var numero = 1;
  do {
    document.write (numero+" ");
    numero++;
  } while (numero<=10)
//-->
</SCRIPT>

Precauções: Como podemos observar tanto while quanto do while fazem com que o script fique repetindo o mesmo trecho do código, portanto, temos que nos assegurar que a comparação ou variável que está em while de alguma forma se torne falsa. Isso porque se a variável for sempre verdadeira, o script nunca irá parar, ocorrendo o que chamamos de looping infinito.

A estrutura for também cria iterações (repetições) e tem o mesmo problema do while, mas diminui o risco de looping infinito porque for controla toda a variável, desde seu valor inicial até seu valor final.

A estrutura principal de for é: for (valor inicial; comparação; modificação do valor) { código que será executado }

Ou seja, diferentemente de while e do while que tinhamos que declarar a variável já valendo 1 (var numero = 1;) e dentro do bloco de execução incrementar esta variável (numero++), o for já faz tudo isso para nós. Vejamos:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
  var numero;
  for (numero=1; numero<=10; numero++){
    document.write (numero+" ");
  }
//-->
</SCRIPT>

Nenhum comentário: