Quando você precisa fazer algo ser repetido várias e várias vezes em javascript, utilizamos algumas instruções chamadas de laços, que servem para executar determinada ação várias e várias vezes.
Veja um exemplo:
for ( i = 0 ; i < 10 ; i++) {
console.log("Isto será repetido 10 vezes");
}
Dentro da instrução for, abrimos parênteses e passamos três parâmetros, sendo que os parâmetros são:
1. "i = 0" : Inicializa a variável contadora com o valor zero.
2. "i < 10": Testa a condição verdadeira para continuar a repetição.
3. "i++": O mesmo que i = i + 1 de forma resumida, para incrementar o valor da variável contadora.
Outra forma de fazer isto com outra instrução chamada de while, é da seguinte forma:
i = 0;Isto fará a mesma coisa que o item anterior, mas só precisará de um parâmetro, que é o item a ser testado. Todo o restante dos controles, tem que ser feitos por fora ou dentro do laço.
while ( i < 10 ) {
console.log("Isto será repetido 10 vezes.");
i++;
}
Uma outra forma de fazer o mesmo, de uma forma diferente, usando a instrução do/while, veja o exemplo:
i = 0;Esta é outra forma de escrever, deixando a condição no final.
do {
console.log("Isto será repetido 10 vezes.");
i++;
}
while ( i < 10 );
Break / Continue
Estes elementos existem para que possa haver um melhor controle para a execução da linha de código, caso queira deixar parte do loop.
Repare neste exemplo:
el = document.getElementsByTagName("body")[0];
i = 0, a = 0;
do {
a++;
el.innerHTML += a +". Valor de i: "+ i + "<br>";
if ( i == 3 ) {
break;
}
i++;
}
while ( i < 10 && a < 10);
Resultado:
Quando temos o método break, significa que o código deverá interromper imediatamente a execução do loop ao qual está sendo executado, saindo da iteração atual, sem executar o restante do código, e sem continuar o loop.
Por isto que este código irá realizar 4 iterações, sendo que na quarta, o valor de i será igual a três, executando o break. Mas e se substituir o mesmo por continue, o que ocorreria?
el = document.getElementsByTagName("body")[0];
i = 0, a = 0;
do {
a++;
el.innerHTML += a +". Valor de i: "+ i + "<br>";
if ( i == 3 ) {
continue;
}
i++;
}
while ( i < 10 && a < 10);
Neste caso, a iteração continuou até o valor 10, sem continuar somando o valor de i (i++ irá somar a cada iteração), mantendo o valor de i, e aumentando o valor de a, que é executado no início, ou seja, sempre que houver continue, ele irá deixar de executar todo o restante do código, mas irá seguir para a próxima iteração do laço ou do loop.
O break e continue podem ser usados em instruções como for, do, while, e até mesmo (e é necessário) nas instruções switch, senão outros cases podem ser acionados, ou mesmo o default. Caso não saiba como usar o break em um switch, veja a matéria anterior.
Comentários
Postar um comentário