JavaScript do while loop


In JavaScript do while loop executes a statement block once and then repeats the execution until a specified condition evaluates to false.


  statement block
while (condition); 

In while loop, the given condition is tested at the beginning, i.e. before executing any of the statements within the while loop. In case of do while loop the condition is tested after execution of the statements within the while loop. This means that do-while would execute it's statements at least once, even if the condition fails for the first time itself.

Pictorial Presentation:

javascript do while loop


The following web document calculates the sum of even numbers between 0 to 10. The do while loop starts with x = 0 and runs until it equals to 10. If the remainder of x/2 is equals to 0 we add x with y and after completion of the loop, y returns the sum of even numbers.


<!DOCTYPE html>
<html lang="en">
<head> <meta charset=utf-8> <title>JavaScript do while statement : Example-1</title> </head> <body> <h1>JavaScript : do while statement</h1> <h3> The do while loop calculate the sum of even numbers between 0 to 10. </h3> <p id="result">Output will be displayed here.</p> <script src="do-while-statement-example1.js"></script> </body> </html>

JS Code

var x = 1;
var y = 0;
var z = 0;
document.getElementById("result").innerHTML = "List of numbers : ";
z = x %  2;
if (z === 0)
var newParagraph1 = document.createElement("p");
var newText1 = document.createTextNode(x);
while (x <=10 );
var newParagraph1 = document.createElement("p");
var newText1 = document.createTextNode("The sum of even numbers between 0 to 10 is : " + y);

View the example in the browser

Practice the example online

See the Pen do-while-1 by w3resource (@w3resource) on CodePen.

Previous: JavaScript: Switch statement
Next: JavaScript while loop

Test your Programming skills with w3resource's quiz.

JavaScript: Tips of the Day

How do I redirect to another webpage?

window.location.replace(...) is better than using window.location.href, because replace() does not keep the originating page in the session history, meaning the user won't get stuck in a never-ending back-button fiasco.

If you want to simulate someone clicking on a link, use location.href

If you want to simulate an HTTP redirect, use location.replace.

// similar behavior as an HTTP redirect

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

Ref: https://bit.ly/37JdWH8