Neste tutorial, você aprenderá sobre o loop while e fará … loop while com a ajuda de exemplos.
Na programação, os loops são usados para repetir um bloco de código. Por exemplo, se você quiser mostrar uma mensagem 100 vezes, poderá usar um loop. É apenas um exemplo simples; você pode conseguir muito mais com loops.
No tutorial anterior, você aprendeu sobre o loop for de JavaScript. Aqui, você está indo para aprender sobre while
e do… while
loops.
JavaScript while Loop
A sintaxe do while
loop é:
while (condition) ( // body of loop )
Aqui,
- Um
while
loop avalia a condição entre parênteses()
. - Se a condição for avaliada como
true
, o código dentro dowhile
loop será executado. - A condição é avaliada novamente.
- Este processo continua até que a condição seja
false
. - Quando a condição é avaliada como
false
, o loop para.
Para saber mais sobre as condições , visite Comparação de JavaScript e operadores lógicos.
Fluxograma do loop while

Exemplo 1: números de exibição de 1 a 5
// program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )
Resultado
1 2 3 4 5
Veja como funciona este programa.
Iteração | Variável | Condição: i <= n | Açao |
---|---|---|---|
1ª | i = 1 n = 5 | true | 1 é impresso. i é aumentado para 2 . |
2ª | i = 2 n = 5 | true | 2 é impresso. i é aumentado para 3 . |
3ª | i = 3 n = 5 | true | 3 é impresso. i é aumentado para 4 . |
4º | i = 4 n = 5 | true | 4 é impresso. i é aumentado para 5 . |
5 ª | i = 5 n = 5 | true | 5 é impresso. i é aumentado para 6 . |
6º | i = 6 n = 5 | false | O loop é encerrado |
Exemplo 2: apenas soma de números positivos
// program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);
Resultado
Insira um número: 2 Insira um número: 5 Insira um número: 7 Insira um número: 0 Insira um número: -3 A soma é 14.
No programa acima, o usuário é solicitado a inserir um número.
Aqui, parseInt()
é usado porque prompt()
recebe a entrada do usuário como uma string. E quando strings numéricas são adicionadas, ele se comporta como uma string. Por exemplo '2' + '3' = '23'
,. Portanto, parseInt()
converte uma string numérica em número.
O while
loop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à sum
variável.
Quando o usuário insere um número negativo, o loop termina. Finalmente, a soma total é exibida.
JavaScript faz … while Loop
A sintaxe do do… while
loop é:
do ( // body of loop ) while(condition)
Aqui,
- O corpo do loop é executado primeiro. Em seguida, a condição é avaliada.
- Se a condição for avaliada como
true
, o corpo do loop dentro dado
instrução será executado novamente. - A condição é avaliada mais uma vez.
- Se a condição for avaliada como
true
, o corpo do loop dentro dado
instrução será executado novamente. - Esse processo continua até que a condição seja avaliada como
false
. Em seguida, o loop para.
Nota : o do… while
loop é semelhante ao while
loop. A única diferença é que no do… while
loop, o corpo do loop é executado pelo menos uma vez.
Fluxograma de do … while Loop

Vamos ver o funcionamento do do… while
loop.
Exemplo 3: números de exibição de 1 a 5
// program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);
Resultado
1 2 3 4 5
Veja como funciona este programa.
Iteração | Variável | Condição: i <= n | Açao |
---|---|---|---|
i = 1 n = 5 | não checado | 1 é impresso. i é aumentado para 2 . | |
1ª | i = 2 n = 5 | true | 2 é impresso. i é aumentado para 3 . |
2ª | i = 3 n = 5 | true | 3 é impresso. i é aumentado para 4 . |
3ª | i = 4 n = 5 | true | 4 é impresso. i é aumentado para 5 . |
4º | i = 5 n = 5 | true | 6 é impresso. i é aumentado para 6 . |
5 ª | i = 6 n = 5 | false | O loop é encerrado |
Exemplo 4: Soma de números positivos
// to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);
Produto 1
Insira um número: 2 Insira um número: 4 Insira um número: -500 A soma é 6.
Here, the do… while
loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -80 The sum is 0.
The body of the do… while
loop runs only once if the user enters a negative number.
Infinite while Loop
If the condition of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true)( // body of loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)
In the above programs, the condition is always true
. Hence, the loop body will run for infinite times.
for Vs while Loop
A for
loop is usually used when the number of iterations is known. For example,
// this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )
Os loops And while
e do… while
são geralmente usados quando o número de iterações é desconhecido. Por exemplo,
while (condition) ( // body of loop )