How to use labels to control the Flow in JavaScript?

In JavaScript, labels provide precise control over program flow when used with break and continue statements. A label is an identifier followed by a colon (:) that marks a statement or block of code, allowing you to break out of or continue specific loops in nested structures.

Syntax

labelName: statement

Labels are commonly used with nested loops where you need to control which loop to break from or continue.

Using Labels with break Statement

The break statement with a label allows you to exit a specific loop, not just the innermost one:

<html>
   <body>
      <script>
         document.write("Entering the loop!<br /> ");
         outerloop: // This is the label name
         for (var i = 0; i < 5; i++) {
            document.write("Outerloop: " + i + "<br />");
            innerloop:
            for (var j = 0; j < 5; j++) {
               if (j > 3 ) break ; // Quit the innermost loop
               if (i == 2) break innerloop; // Do the same thing
               if (i == 4) break outerloop; // Quit the outer loop
               document.write("Innerloop: " + j + " <br />");
            }
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>
Entering the loop!
Outerloop: 0
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 1
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 2
Outerloop: 3
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 
Innerloop: 3 
Outerloop: 4
Exiting the loop!

Using Labels with continue Statement

The continue statement with a label skips the current iteration and jumps to the next iteration of the labeled loop:

<html>
   <body>
      <script>
         document.write("Entering the loop!<br /> ");
         outerloop: // This is the label name
         for (var i = 0; i < 3; i++) {
            document.write("Outerloop: " + i + "<br />");
            for (var j = 0; j < 5; j++) {
               if (j == 3){
                  continue outerloop;
               }
               document.write("Innerloop: " + j + "<br />");
            }
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>
Entering the loop!
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2
Exiting the loop!

Key Points

  • Labels must be unique within their scope
  • Labels can only be used with break and continue statements
  • Labels provide precise control in complex nested loop structures
  • Without labels, break and continue only affect the immediate enclosing loop

Conclusion

JavaScript labels offer powerful flow control in nested loops by allowing break and continue statements to target specific loops. Use them sparingly for complex nested structures where precise control is needed.

Updated on: 2026-03-15T22:02:13+05:30

504 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements