js中for跳出循环(包括多层循环)return和break的区别
单层循环
1.for循环中return语句:会直接跳出循环,
因为js中for是没有局部作用域的概念的,所以只有把for循环放在函数中时,才可以在for循环中使用return语句。
2.for循环中的break语句:和return一样会直接跳出循环
与return不同的是,使用break时,for循环可以不用一定放在函数中 ;
多层循环:
1.return:和单层循环一样必须放在函数中,否则将会报语法错误
使用return会直接跳出函数
var a=[1,2,3];
var b=[4,5,6,7,8];
function test(){
for(var i=0;i<a.length;i++){
for(var j=0;j<b.length;j++){
if(b[j]==5){
// break
return;
}else{
console.log(13);
}
}
console.log(12);
}
console.log(14);
}
test();//打印结果为:13
使用return后,当b[j]=5的时候,会直接跳出函数,for循环后面的语句也不再执行;
2.break语句:和单层循环一样,可以可以不用放在函数中
但是在多层循环中与return不同的是,break不是跳出函数,而是跳出最里层的for循环,外面的循环和最外层for循环后面的语句也将继续执行
var a=[1,2,3];
var b=[4,5,6,7,8];
function test(){
for(var i=0;i<a.length;i++){
for(var j=0;j<b.length;j++){
if(b[j]==5){
break ;
// return;
}else{
console.log(13);
}
}
console.log(12);
}
console.log(14);
}
test();//打印结果为13 12 13 12 13 12 14
作者:努力_才幸福
来源:CSDN
原文:https://blog.csdn.net/weixin_38098192/article/details/84345494
版权声明:本文为博主原创文章,转载请附上博文链接!
上一篇: 原生js实现拖拽(碰撞检测)
下一篇: 堆排序和TopK问题