关于return,break,continue三者区别
① break:跳出当前循环,所在的循环层结束
②continue:只是跳过本次执行,继续执行下次循环,并未跳出
③return直接结束整个方法,不管这个return处于多少层循环之内
【详解】
案例:(这里我用PHP,不过for循环语法和JS的类似)
Php代码 收藏代码
<?php for($i = 1;$i < 4; $i++){ for($j=1;$j < 3; $j++){ echo "我是第".$i."排第".$j."列"; } echo "第".$i."排
"; } echo "完成循环,执行完毕"; ?>
输出结果:
我是第1排第1列
我是第1排第2列
第1排
我是第2排第1列
我是第2排第2列
第2排
我是第3排第1列
我是第3排第2列
第3排
完成循环,执行完毕
这是正常输出的结果,下面用break,continue和return分别执行
(1)break
跳出当前循环,所在的循环层结束。循环层是针对嵌套循环来说的,如果在嵌套循环的某层里用break,那么只会跳出当前的层,继续执行嵌套循环的其他层。
修改上面代码,看下效果:
Php代码 收藏代码
<?php for($i = 1;$i < 4; $i++){ for($j=1;$j < 3; $j++){ if($i == 3){ break; } echo "我是第".$i."排第".$j."列"; } echo "第".$i."排
"; } echo "完成循环,执行完毕"; ?>
输出结果:
我是第1排第1列
我是第1排第2列
第1排
我是第2排第1列
我是第2排第2列
第2排
第3排
完成循环,执行完毕
由上面代码可以分析出:break只是跳出了所在层的循环,本例中跳出了变量$j所在的层
(2)continue
continue的功能和break有点类似,区别是continue只是跳过本次循环继续执行下次循环,并未跳出
Php代码 收藏代码
<?php for($i = 1;$i < 4; $i++){ for($j=1;$j < 3; $j++){ if($i == 3){ continue; } echo "我是第".$i."排第".$j."列"; } echo "第".$i."排
"; } echo "完成循环,执行完毕"; ?>
输出结果:
第1排
我是第2排第1列
我是第2排第2列
第2排
我是第3排第1列
我是第3排第2列
第3排
完成循环,执行完毕
分析可以得出containue只是跳过了本次执行,并未跳出循环
(3)return
return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
Php代码 收藏代码
<?php for($i = 1;$i < 4; $i++){ for($j=1;$j < 3; $j++){ if($i == 2){ return; } echo "我是第".$i."排第".$j."列"; } echo "第".$i."排
"; } echo "完成循环,执行完毕"; ?>
输出结果:
我是第1排第1列
我是第1排第2列
第1排
分析可以看出return直接结束整个方法,不管这个return处于多少层循环之内。