Loops can execute a block of code as long as a specified condition is true.
The While Loop
The while
loop loops through a block of code as long as a specified condition is true.
Syntax
while (condition) {
// code block to be executed
}
Example
In the following example, the code in the loop will run, over and over again, as long as a variable (i) is less than 10:
Example
<!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>
Result:
JavaScript While Loop
The number is 0
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
The number is 7
The number is 8
The number is 9
If you forget to increase the variable used in the condition, the loop will never end. This will crash your browser.
The Do While Loop
The do while
loop is a variant of the while loop. This loop will execute the code block once, before checking if the condition is true, then it will repeat the loop as long as the condition is true.
Syntax
do {
// code block to be executed
}
while (condition);
Example
The example below uses a do while
loop. The loop will always be executed at least once, even if the condition is false, because the code block is executed before the condition is tested:
Example
<!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>
Result:
JavaScript Do While Loop
The number is 0
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
The number is 7
The number is 8
The number is 9
Do not forget to increase the variable used in the condition, otherwise the loop will never end!
Comparing For and While
If you have read the previous chapter, about the for loop, you will discover that a while loop is much the same as a for loop, with statement 1 and statement 3 omitted.
The loop in this example uses a for
loop to collect the car names from the cars array:
Example
<!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>
Result:
BMW
Volvo
Saab
Ford
The loop in this example uses a while
loop to collect the car names from the cars array:
Example
<!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>
Result:
BMW
Volvo
Saab
Ford