continue是跳出当前循环还是所有循环

学习笔记 03/18 前端问答

continue是跳出当前循环。continue语句用于跳过本次循环,执行下次循环;当遇到continue语句时,程序会立即重新检测条件表达式,如果表达式结果为真则开始下次循环,如果表达式结果为假则退出循环。

continue是跳出当前循环还是所有循环

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

continue语句

continue 语句用来跳过本次循环,执行下次循环。当遇到 continue 语句时,程序会立即重新检测条件表达式,如果表达式结果为真则开始下次循环,如果表达式结果为假则退出循环。

【示例1】使用 continue 语句跳出 for 循环:

<script type="text/javascript">
for (var i = 1; i < 10; i++) {
    if(i % 2 != 0) {
       continue;
    }
    console.log(i);
}
</script>

分析:

  • for (var i = 0; i < 10; i++){}语句可以循环得出1~10 之间的所有数字

  • if(i % 2 != 0)语句用于判断i的值能否整除2,不能整除则()中值为true,则执行continue;语句。

  • 在循环体中,使用if(i % 2 == 0)语句进行判断,如果i的值能整除2就使用“console.log(i);”输出;如果i的值不能整除2,则触发continue;语句,跳出本次循环(不进行输出),执行下一次循环。

输出结果:

1.png

扩展知识:break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码(如果有的话)。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<script type="text/javascript">
for (var i = 1; i < 10; i++) {
    if(i % 2 != 0) {
       break;
    }
    console.log(i);
}
</script>

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,i=1,1小于10吗?当然,然后开始执行循环体中的if(i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“console.log(i);”语句。


以上就是continue是跳出当前循环还是所有循环的详细内容,更多请关注本站点其它相关文章!

本文地址:https://www.stayed.cn/item/27172

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。