Loops podem executar um bloco de código desde que uma condição especificada seja verdadeira.
whileO loop while percorre um bloco de código desde que uma condição especificada seja verdadeira.
while (condition) {
// code block to be executed
}No exemplo a seguir, o código no loop será executado repetidamente, desde que uma variável (i) é menor que 10:
while (i < 10) {
text += "The number is " + i;
i++;
}
Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript While Loop</h2>
<p id="demo"></p>
<script>
let text = "";
let i = 0;
while (i < 10) {
text += "<br>The number is " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Se você esquecer de aumentar a variável usada na condição, o loop nunca terminará. Isso travará seu navegador.
do whileO loop do while é uma variante do loop while. Este ciclo irá execute o bloco de código uma vez, antes de verificar se a condição é verdadeira, então ele irá repita o loop enquanto a condição for verdadeira.
do {
// code block to be executed
}
while (condition);O exemplo abaixo usa um loop do while. O loop sempre será executado pelo menos uma vez, mesmo que a condição seja falsa, porque o bloco de código é executado antes da condição ser testada:
do {
text += "The number is " + i;
i++;
}
while (i < 10);Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Do While Loop</h2>
<p id="demo"></p>
<script>
let text = ""
let i = 0;
do {
text += "<br>The number is " + i;
i++;
}
while (i < 10);
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Não esqueça de aumentar a variável usada na condição, caso contrário o ciclo nunca terminará!
for e whileSe você leu o capítulo anterior sobre o loop for, descobrirá que um loop while é muito parecido com um loop for, com a instrução 1 e a instrução 3 omitidas.
O loop neste exemplo usa um loop for para coletar o carro nomes da matriz cars:
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";
for (;cars[i];) {
text += cars[i];
i++;
}Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";
for (;cars[i];) {
text += cars[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
O loop neste exemplo usa um loop while para coletar o nomes de carros da matriz cars:
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";
while (cars[i]) {
text += cars[i];
i++;
}Experimente você mesmo →
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";
while (cars[i]) {
text += cars[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>