Iniciando no Javascript: Loops WHILE e DO WHILE


Autor/fonte: CriarWeb.com
E-mail/Url: http://www.criarweb.com/artigos/224.php



Digg del.icio.us

Vejamos agora os dois tipos de loops WHILE que podemos utilizar em Javascript e os usos de cada um.

Loop WHILE

Estes loops se utilizam quando queremos repetir um número indefinido de vezes a execução de umas sentenças, sempre que se cumpra uma condição. Sim, que é mais simples de compreender que o loop FOR, pois não incorpora na mesma linha a iniciação das variáveis, sua condição para continuar executando e sua atualização. Somente se indica, como veremos a seguir, a condição que tem que se cumprir para que se realize uma repetição:

while (condição){
    sentenças a executar
}

Um exemplo de código onde se utiliza este loop pode ser visto a seguir:

var color = ""
while (color != "vermelho")
    color = me dá uma cor
}

Este é um exemplo do mais simples do que se pode fazer com um loop while. O que faz é pedir que o usuário introduza uma cor, mas que não seja a cor vermelha. Para executar um loop como este primeiro temos que iniciar a variável que vamos utilizar na condição de repetição do loop. Com a variável iniciada podemos escrever o loop, que comprovará para executar que a cor da variável seja diferente de "vermelha". Em cada repetição do loop pede-se uma nova cor ao usuário para atualizar a variável cor e termina-se a repetição, com o que retornamos ao princípio do loop, onde temos que voltar a avaliar se o que há na variável cor é "vermelha" e assim sucessivamente enquanto não seja introduzido como cor o texto "vermelho". Obviamente, a expressão "me dá uma cor" não é Javascript, mas como ainda não sabemos como escrever isso em Javascript, é melhor vê-lo mais adiante.

Loop DO WHILE

É o último dos loops que há em Javascript. Utiliza-se geralmente quando não sabemos quantas vezes haverá de se executar o loop, assim como o loop WHILE, com a diferença de que sabemos ao certo que o loop pelo menos se executará uma vez.

Este tipo de loop se introduziu em Javascript 1.2, portanto, nem todos os navegadores o suportam, somente os de versão 4 ou superior. Em qualquer caso, qualquer código que se queira escrever com DO...WHILE pode ser escrito também utilizando um loop WHILE, com o qual em navegadores antigos deverá traduzir o loop DO...WHILE por um loop WHILE.

A sintaxe é a seguinte:

do {
    sentenças do loop
} while (condição)

O loop se executa sempre uma vez e ao final se avalia a condição para dizer se se executa outra vez o loop ou se termina sua execução.

Vejamos o exemplo que escrevemos para um loop WHILE neste outro tipo de loop:

var color
do {
    color = me dá uma cor
} while (color != "vermelho")

Este exemplo funciona exatamente igual que o anterior, exceto que não tivemos que iniciar a variável cor antes de introduzirmos no loop. Pede uma cor contanto que a cor introduzida seja diferente de "vermelho".

Exemplo

Vamos ver a seguir um exemplo mais prático sobre como trabalhar com um loop WHILE. Como é muito difícil fazer exemplos práticos, com o pouco que sabemos sobre Javascript, vamos adiantar uma instrução que ainda não conhecemos.

Neste exemplo vamos declarar uma variável e iniciá-la a 0. Logo, iremos somando a essa variável um número aleatório do 1 ao 100 até somarmos 1.000 ou mais, imprimindo o valor da variável soma depois de cada operação. Será necessário utilizar o loop WHILE porque não sabemos exatamente o número de repetições que teremos que realizar:

var soma = 0
while (soma < 1000){
    soma += parseInt(Math.random() * 100)
    document.write (soma + "<br>")
}

Supomos que no que diz respeito ao loop WHILE não haverá problemas, mas onde sim que pode haver é na sentença utilizada para tomar um número aleatório. Entretanto, não é necessário explicar aqui a sentença porque já temos planejado fazer mais adiante.




Enviado por xKuRt em 21/11/2006 às 15:19


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

AvatarEnviado por dudesigner em 24/03/2010 às 23:43

Tenho uma dúvida quanto a LOOP...

Preciso pegar os dados de um formulário dinamicamente...
Tenho está função, que está funcionando perfeitamente.

function f_ajx(){
var url = id('form_ajax').action;
xmlRequest.open("POST", url, true);
xmlRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

var dados =
'login='+id('login').value+
'&senha='+id('senha').value+
'&funcao=inserir';
xmlRequest.send(dados);
xmlRequest.onreadystatechange = function(){
id("conteudo").innerHTML = xmlRequest.responseText;
}
}

--
Programador ASP


Envio de comentário:




  

Terça, 29 de Julho de 2014




Leitura recomendada

Asterisk na Prática

Top 5 membros

Últimos membros online

  • 1em 29/07 às 09:08
  • xKuRtem 27/07 às 15:13
  • JCanecaem 26/07 às 19:02

Últimos membros cadastrados



Capa do livro
Invasão de Redes - Ataques e Defesas


Capa do livro
PHP para Quem Conhece PHP


Capa do livro
Roteadores e Switches: Guia para Certificação CCNA e CCENT





Hostnet

IMD