break、continue、return的使用与区别
break、continue、return的使用与区别
结论先行:
break与continue:
break和continue都是用来控制循环结构的,主要作用是停止循环
它俩的区别:
1》break是跳出整个循环,continue是跳出当前循环,继续进行下一个循环
2》continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用, 用来加速循环;break还可以在switch分支语句中使用,遇到break,就会跳出switch语句
return
函数中使用,函数遇到return就会立即停止执行并退出;后面可以跟函数的返回值,如果不跟就返回undefined;
break语句
跳出整个循环;跳出的是它所在的最近一级的循环,如果外面还有循环,外面还是会继续的
eg1:
let num = 0;
const arr = [1, 2, 3, 4, 5, 6];
for (let k = 1; k <= 10; k++) {
if (k % 3 == 0) {
break;
}
num++;
}
console.log(num); // 2
当 k=3 时,满足条件break,跳出真个for循环语句,打印2
eg2:
let num = 0;
for (let i = 0; i < 2; i++) {
for (let k = 1; k <= 10; k++) {
if (k % 3 == 0) {
break;
}
num++;
}
}
console.log(num); // 4
外面这一层循环,循环了两次,里面的循环每次到 k=3就跳出里面的循环,所以打印4
break在switch分支语句中使用
const type = "first";
switch (type) {
case "first":
console.log("object");
break;
case "second":
console.log("array");
break;
case "third":
console.log("function");
break;
default:
console.log("object");
}
退出switch语句,switch是分支语句,不是循环语句
continue语句
跳出当前循环,继续进行下一次循环;
eg1:
let num = 0;
const arr = [1, 2, 3, 4, 5, 6];
for (let k = 1; k <= 10; k++) {
if (k % 3 == 0) {
continue;
}
num++;
}
console.log(num); // 7
当 k=3 时,满足条件,执行continue,结束了本次循环(只是本次循环continue后面的不执行),直接开始下一次循环
eg2:
let num = 0;
for (let i = 0; i < 2; i++) {
for (let k = 1; k <= 10; k++) {
if (k % 3 == 0) {
continue;
}
num++;
}
}
console.log(num); // 14
同样外面执行两轮的循环,里面循环为3的倍数就不执行continue后面的内容,开始下一轮循环
对比2:
break、continue到了3都不会执行后面的结果,但是实际上还是不一样,break到了3直接推出了循环,而continue是直接进行下一轮循环,如果在判断前进行打印就可以看出区别
const arr = [1, 2, 3, 4, 5, 6];
for (let k = 0; k < arr.length; k++) {
if (arr[k] > 3) {
break;
// continue
}
console.log(arr[k]); // 依次打印1 2 3
}
return
函数返回值,终止整个函数的执行并退出
function testReturn() {
console.log("这是第一层循环");
let num = 0;
for (let i = 0; i < 2; i++) {
for (let k = 1; k <= 10; k++) {
console.log("第二层循环");
if (k % 3 == 0) {
return num;
}
num++;
}
}
}
console.log(testReturn());
第一层循环只执行了一轮,第二层循环在第三轮的时候就碰到了return,直接退出真个函数,打印了函数返回值2
更多推荐
所有评论(0)