Outra estrutura de programação muito importante são os comandos que causam a repetição de partes do código. Em Javascript, há dois comandos próprios para isso: while e for, que, em Português, poderiam ser traduzidos como enquanto e para todo, respectivamente. Existe ainda uma variante do comando while: do... while.
while
O formato do comando while é o seguinte:
while (<condição>) {
<bloco de comandos>
}
O bloco de comandos que segue a condição é executado enquanto a mesma tiver valor true. Caso contrário, o programa segue executando as instruções que vêm depois do bloco. Veja um exemplo:
<!DOCTYPE HTML> <html lang="pt-br"> <head> <meta charset="utf-8" /> <title>Exemplo Javascript - while</title> </head> <body> <p id="resultado"> </p> </body> <script type="text/javascript">var areaResultado = document.getElementById('resultado');var linhasMensagem = []; /* Utilitário para imprimir uma mensagem na tela. */ function mostrarMensagem(msg) { linhasMensagem.push(msg.toString()); areaResultado.innerHTML = linhasMensagem.join('<br />'); } </script> <script type="text/javascript"> var valor = 16; while (valor > 1) { mostrarMensagem("<p>A metade de " + valor.toString() + " é " + (valor / 2).toString()); valor = valor / 2; } </script> </html>
Ao utilizar o comando while, você deve tomar cuidado para garantir que a condição testada deixe de ser verdadeira em algum ponto. No exemplo, usamos a propriedade da divisão sucessiva de um inteiro positivo por dois, em que o resultado vai diminuir, e eventualmente chegar a um valor menor ou igual a 1.
A variável valor aparece dos dois lados do operador de atribuição. A ordem das operações executadas é: a expressão à direita do operador = é avaliada, utilizando o conteúdo corrente da variável. Somente depois disso, a atribuição é executada, alterando o valor da variável. Daí, quando executamos essa, o conteúdo de valor é 16 antes da primeira execução, e 8 ao completar a atribuição.
Uma variante do comando while é o do ... while. O formato é como abaixo:
do {
<bloco de comandos>
} while (<condição>);
Neste caso, o bloco de comandos é executado, e só depois disso a condição é testada. Enquanto for verdadeira, o bloco de comandos será executado novamente. Esta construção garante que o código no bloco seja executado pelo menos uma vez.
Pode haver situações em que se deseje terminar a execução do bloco de comandos no meio. Para isso, há um outro comando: break. Ao executar este comando, o programa pula todos os comandos até o fim do bloco de repetição e passa a executar os comandos que vêm depois do bloco. Só faz sentido usar um comando break associado a um comando if.
for (<declaração de variável>; <condição>; <incremento>) {
<bloco de comandos>
}
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<title>Exemplo Javascript - for</title>
</head>
<body>
<p>Números pares</p>
<p id="resultado">
</p>
</body>
<script type="text/javascript">
var areaResultado = document.getElementById('resultado');
const limite = 16;
var mensagem = "";
for (let num = 2; num <= limite; num = num + 2) {
mensagem = mensagem + num.toString() + ", "
}
areaResultado.innerHTML = mensagem;
</script>
</html>
PróximaVoltar ao Sumário
Nenhum comentário:
Postar um comentário