JavaScript中break与continue在多重循环中的行为解析

作者:异步漫步时间:2026-10-30 13:14:13浏览:119

本文解析JavaScript中break和continue在单层及多重循环中的具体行为。通过标签语法,break可跳出指定外层循环,而continue则跳过当前迭代继续执行。文章通过代码示例展示了不同条件下的循环退出与跳过逻辑,帮助开发者准确控制程序流程。

break与continue的基本区别

首先阐述break与continue语句在JavaScript中的基本区别。

相关内容参考自《JavaScript高级程序设计》。


for(var i=0;i<10;i++){
  if(i>5){
  break;
  }
}
console.log(i);  ---6


当变量i等于5或10时,程序执行到break语句,从而退出当前循环。


 for(var i=1;i<10;i++){
  if(i>5){
  continue;
  }
  num++;
}
console.log(num);  ---4

var num=0;
for(var i=1;i<10;i++){
  if(i%5==0){
  continue;
  }
  num++;
}
console.log(num); ---8


当变量i等于5或10时,程序根据i的值继续执行for循环,随后退出该次迭代。

接下来讨论在多重嵌套循环场景下的应用。

针对break语句的行为分析。

多重循环中break的使用


outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); ----6 
     break outer;
    }
  } 
 }

此处演示将break作用于最外层循环的情况。


outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); ----6,7,8,9 
     break inter;
    }
  } 
 }

当 break 执行到内层循环时,虽然暂时不会跳出,但执行够 4 次以后,还是跳出了

针对continue语句的行为分析。

多重循环中continue的使用


var num=0;
outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); ----6,7,8,9 
     continue outer;
    }
    num++;  
  } 
 }
 console.log(num);     --- 60

当变量i大于或等于5时,触发continue语句以继续下一次循环,因此总执行次数会减少40次。


var num=0;
outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); ----6,7,8,9 
     continue inter;
    }
    num++;  
  } 
 }
 console.log(num);     --- 60

原理相同,循环仍会继续执行,只是总次数减少了40次。这是因为限制条件始终基于i的值,当i小于或等于5时条件不成立。

以上内容为本文的全部要点,希望对读者的学习有所帮助,也欢迎大家继续支持本站。

作者最新文章