JavaScript 循环控制

时间:2019-08-20 13:50:44  来源:igfitidea点击:

JavaScript提供了对循环和switch语句的完全控制。

可能会有这样一种情况,你需要跳出一个循环。
还有一种情况是,我们希望跳过某部分代码块,重新开始下一个迭代。

为了处理所有这些情况,JavaScript提供了break和continue语句。

break语句

break语句用于提前退出循环。

break语句示例

当x等于5时,提前退出循环:

var x = 1;
console.log("进入循环");

while (x < 20) {
   if (x == 5) {
      break;   // 退出循环
   }
   x = x + 1;
   console.log( x );
}         
console.log("已经退出循环");

在switch语句中, 我们已经看到了break语句的用法。

continue 语句

continue语句告诉解释器立即开始循环的下一个迭代,并跳过剩余的代码块。
当遇到continue语句时,程序流立即移动到条件检查语句,如果条件为true,则开始下一个迭代,否则控制将退出循环。

continue 语句示例

当变量x等于5时,跳过后面的语句,重新开始下一个迭代

var x = 1;
console.log("进入循环");

while (x < 10) {
   x = x + 1;
   
   if (x == 5) {
      continue;   // 跳过循环中从这开始后面的语句
   }
   console.log( x );
}         
console.log("退出循环");

使用标签来控制流程

在嵌套循环中,使用break和continue语句时,我们可以通过标签来控制流程到退出或者重新开始哪个循环.

使用标签的循环语句示例1

使用break语句和标签来控制流程

console.log("进入外循环");
outerloop:        // 给外循环一个标签 
for (var i = 0; i < 5; i++) {
   console.log("外循环: " + i );
   innerloop: // 给内循环一个标签
   for (var j = 0; j < 5; j++) {
      if (j > 3 ) break ;           // 默认,退出内循环
      if (i == 2) break innerloop;  // 退出内循环
      if (i == 4) break outerloop;  // 退出外循环
      console.log("内循环: " + j );
   }
}        
console.log("退出循环");

使用continue语句和标签来控制流程

console.log("进入外循环");
outerloop:     // 给外循环一个标签 

for (var i = 0; i < 3; i++) {
   console.log("外循环: " + i);
   innerloop: // 给内循环一个标签
   for (var j = 0; j < 5; j++) {
      if (j == 3) {
         continue outerloop; // 重新开始外循环的新一轮迭代
      }
      console.log("内循环: " + j);
   }
}

console.log("退出循环");