return break 和continue在for循环中的不同作用
平时自己经常在函数里见到return,在switch语句中使用break,而continue则用的不多。
其实这三者都能在for循环中发挥不同的作用,让代码更加灵活。
先说return
return是结束被调函数的执行,结束时候可以return返回值,并且return之后的语句不再执行
如下代码示例:
function fun(){
for (let i = 0; i < 9; i++) {
if(i==5){
return;
console.log('哈哈哈');
}
console.log(i);
}
console.log('星河滚烫');
}
fun();
//log: 0 1 2 3 4
可以看出i==5就结束了,而且在return之后的’哈哈哈’,没有打印,i=5也没有打印出来,‘星河滚烫’也没有打印,
return是直接跳出了该函数
再说break
break会终止并跳出它所在的循环,进入下一段程序的执行(如果多层循环嵌套,它只跳出自己的这一层循环)
如下代码示例:
function fun(){
for (let i = 0; i < 9; i++) {
if(i==5){
break;
console.log('哈哈哈');
}
console.log(i);
}
console.log('星河滚烫');
}
fun();
//log: 0 1 2 3 4 星河滚烫
可以看出i==5时,break结束了循环,并且跳出循环打印了 ‘星河滚烫’
最后说一下continue
continue会使循环进行到此处时,直接进入下一次循环的入口处 执行下一次循环,注意不是结束循环体。
如下代码示例:
function fun(){
for (let i = 0; i < 9; i++) {
if(i==5){
continue;
console.log('哈哈哈');
}
console.log(i);
}
console.log('星河滚烫');
}
fun();
//log: 0 1 2 3 4 6 7 8 9 星河滚烫
只有 5 没有打印,而之后的都打印了出来,说明i==5时后面的都没有执行,直接进入到了之后的循环
总结:
break跳出并结束当前循环体(自己这一层)
continue:此次循环结束,进入下次循环
return: 结束当前函数,进入主调函数继续执行,return后面的代码不再执行;return后可以返回参数。