Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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
breakandcontinuestatements - Labels provide precise control in complex nested loop structures
- Without labels,
breakandcontinueonly 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.
