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:
<script>
var text = "";
var i = 0;
while (i < 10) {
text += "<br>The number is " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
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);
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:
<script>
var text = ""
var i = 0;
do {
text += "<br>The number is " + i;
i++;
}
while (i < 10);
document.getElementById("demo").innerHTML = text;
</script>
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 lang array:
<script>
var lang = ["JavaScript", "PHP", "Web", "Python"];
var i = 0;
var text = "";
for (;lang[i];) {
text += lang[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
The loop in this example uses a while
loop to collect the car names from the cars array:
<script>
var lang = ["JavaScript", "PHP", "Web", "Python"];
var i = 0;
var text = "";
while (lang[i]) {
text += lang[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
Complete Code for While loop
<!DOCTYPE html>
<html>
<head>
<title>JavaScript While Loops</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<br>
<br>
<div class="text-center">
<h1>JavaScript While Loops</h1>
</div>
<br>
<div class="well">
<h3 id="demo"></h3>
</div>
<br>
</div>
</body>
</html>
<script>
var text = "";
var i = 0;
while (i < 10) {
text += "<br>The number is " + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>