关于前端:break-和-continue语句

5次阅读

共计 1784 个字符,预计需要花费 5 分钟才能阅读完成。

break 语句的应用

break 语句能够用于跳出循环,能够用在 for 循环、while 循环、switch 循环中。当咱们在一个循环中应用了 break 语句,则会中断循环,然而仍会继续执行循环之后的代码哟。

示例:

例如上面代码实现了当循环条件小于 5 时,循环中断:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS_侠课岛 (9xkd.com)</title>
</head>
<body>
<script>
  var n = 5;
  for(i = 0; i < 10; i++){console.log(i); // 在判断之前就输入
    if(i > n){console.log("循环到数字 5 时,中断循环");
      break;
    }
  }
</script>
</body>   
</html>

此时咱们在浏览器中关上页面,控制台会输入:

上述代码中,咱们在 for 循环中,输入了变量 i 的值,失常的循环会始终输入 0、1、2、3、4、5、6、7、8、9。然而因为咱们在循环外面增加了一个 if 条件语句,当条件为 true 的时候,会执行 if 上面的代码块。也就是说当变量 i 大于 5 时,程序中会执行 break 语句,此时 for 循环会终止,不论前面还有多少次循环都不会再执行。

那最初一个输入是 5 还是 6 还是 7 呢?这里可能会有同学弄不分明,那咱们来讲一下。

  • 后面 0、1、2、3、4 就不讲了,就是失常循环。
  • 当 i = 5 时,满足 for 循环中的条件表达式 i < 10,所以会执行循环的代码块 console.log(i);,会输入 5。而后执行到 if 条件语句时,条件为 i 是否大于 5,那么 5 必定是不会大于 5,条件不满足,不会执行 if 的代码块,进入下一次循环。
  • 当 i = 6 时,同样满足循环条件表达式,会先输入 6(因为代码是自上而下执行的),而后执行到 if 条件语句,此时 6 大于 5,阐明满足 if 语句的条件,执行代码块,执行 break,跳出循环,循环不再持续。
  • 所以咱们应该能晓得循环终止前,最初一次循环输入的是 6。

留神一下,如果在循环体的前面还有其余的代码,在跳出循环之后,会继续执行循环前面的代码。也就是说 break 只能影响到在循环外面的代码,里面的代码仍然是依旧执行。

示例:

例如上面这段代码,跳出循环体后,还会继续执行前面的输入语句:

<script>
  var n = 5;
  for(i = 0; i < 10; i++){console.log(i);
    if(i > n){console.log("循环到数字 5 时,中断循环");
      break;
    }
  }
  console.log("循环中断后,继续执行 for 循环之后的代码");  // 跳出循环后,继续执行前面的语句
</script>

在浏览器中关上:

continue 语句的应用

continue 语句用于在产生指定的条件时,中断循环中的一个迭代,而后持续循环中的下一个迭代。

break 语句不同的是,break 会执行跳出整个循环,而 continue 只是跳出本次循环,持续下一次循环。也就是说如果一共有 10 次循环,在第 5 次循环时应用 break,前面的循环不会再执行。然而如果在第 5 次循环的时候执行 continue,只有第 5 次循环不会执行,但会继续执行第 6 次、7 次 … 等循环。

示例:

例如下列代码中,当 i 的值为 5 时,会跳出本次循环,持续下次循环:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS_侠课岛 (9xkd.com)</title>
</head>
<body>
<div>
  <p id="num"></p>
</div>
<script>
  var n = 5;
  for(i = 0; i < 10; i++){if(i == n){continue;}
    console.log(i);  // 执行 if 语句之后输入
  }
</script>
</body>   
</html>

在浏览器中关上:

在循环体内,当变量 i 的值满足 if 条件 i == n 时,会跳出本次循环,而后持续下一次循环,所以循环后果中不会输入 5,然而输入了 6、7、8、9

入手小练习

1. 请应用循环语句输入 1 到 100 中,除了 42 以外所有能被 7 整数的整数?

2. 请说出下列代码的输入后果:

for(var i = 0; i < 10; i++){if( i == 3){continue;}
    console.log(i);
    if(i > 7){break;}   
}

链接:https://www.9xkd.com/

正文完
 0