JavaScript Do-While Loop

The JavaScript do-while loop is similar to the while loop about which you studied earlier. Instead of testing the condition at the beginning of the loop, a do-while loop test the condition after the loop body. This guarantees that the loop will execute at least once.

Syntax – do-while

Here is the syntax of the do-while loop.

do 
{
      statements;
}while(test conditions);

Difference Between while( ) and do-while( )

The while loop is more popular which programmers than the do-while loop because it is very rare that you will need the loop to execute first and then test the conditions. The primary difference between while loop and do-while are two:

  • do keyword at the beginning of the loop body
  • the while condition in do-while ends with a semi-colon

The reason do-while ends with semi-colon is that the loop ends with a condition and not with } flower brace.

Flowchart - do-while loop
Flowchart – do-while loop

Example

In this example, we will test first 10 numbers for prime and if the number is prime we write prime else we write not prime.

<!DOCTYPE html>
<html>
<head>
     <title>Do-While Loop Example</title>
     <meta charset = "utf-8">
</head>
<body>
      <h3> Do-While Example</h2>
      <p id="out"></p>
      <script>
      var i = 0;
      do 
      {
           if ( (i % 2) == 0 || (i % 3) == 0 || ( i % 5) == 0 || (i % 7)== 0 )
           { 
                if ( (i == 2) || (i == 3) ||( i == 5) || (i == 7))
                {
                     document.getElementById("out").innerHTML += i + " = " + "Prime" + "<br>";
                }
                else 
                {
                     document.getElementById("out").innerHTML += i + "=" + "Not Prime" + "<br>";
                }        
           }
           else 
           {
                     document.getElementById("out").innerHTML += i + " = " + "Prime" + "<br>";
           }
           i++;
     }while(i <= 20);
     </script>
</body>
</html>

Output – do-while

In the program above, we started the loop with zero and there is not test to enter the do-while loop. Let us see how the body of the loop executes step-by-step.

Entering Loop

There is not condition to enter the loop and the loop start with i = 0. Then the first test is performed on the loop variable i.

Body of the loop

Test 1 ( is i divisible by 2, 3, 5, or 7 ?)

The first test program does is to check whether i is divisible by 2, 3, 5, or 7 by dividing the i with each number ( that is, 2, 3, 5, 7) and check if the remainder is 0. A number is divisible if the remainder is 0 and that number is not prime. The test 1 result in true and program enter the first nested if block.

Nested If Block

In the nested if block all numbers have a remainder 0 , even the 2, 3, 5, or 7 . But these numbers are prime while others are not prime. Therefore, we put a condition that if 2, 3,5 or 7 then output is “Prime” else it is “Not Prime“. We successfully excluded 2,3,5, and 7 from all non primes.

Test 1 is False

If the test1 fails and numbers are not perfectly divisible by 2, 3, 5, or 7 then it has to be a prime number. We simple output the number and “Not Prime”.

Output - do-while loop test prime numbers
Output – do-while loop test prime numbers

Terminating The Loop

The final step in the do-while loop is to exit the loop. The loop execute for number of times given in the final while (). This condition is tested for each iteration. The final iteration is false and loop is terminated automatically.

References

  • Powers, S., 2010. Javascript Cookbook. 1st ed. Farnham: O’Reilly.
  • Flanagan, D., 2002. Javascript. 3rd ed. Sebastopol, CA: O’Reilly.
  • Simpson, K., 2015. Up & Going. Beijing [u.a.]: O’Reilly.

Please support us by disabling your adblocker or whitelist this site from your adblocker. Thanks!

turn of adblocker imag