break、return、continue
一、总结:
在满足某些条件时跳出循环,有如下三种方式来实现:
- break 用于完全跳出循环
- return 用于跳出函数执行
- continue 用于跳过当前循环的剩余代码
二、break
break:
- 使用break语句可以立即跳出当前的循环,不再执行循环中剩余的代码,而是继续执行循环之后的代码
- 通常用于在满足某个条件时终止循环
- 常用于switch语句中,当满足switch中的某个case时候,用于跳出整个switch,执行switch之后的语句
// 输出结果: 0 1 2 break
for (var i = 0; i < 5; i++) {
if (i === 3) break
console.log(i)
}
console.log('break')
// 输出结果: 2
switch ('2') {
case '1':
console.log('1')
break
case '2':
console.log('2')
break
case '3':
console.log('3')
break
default:
console.log('default')
}
三、return
return:
- 只能用于函数中,可以使用return语句来跳出当前函数的执行,并返回一个值
- 当return语句执行时,函数的执行立即停止,不再执行函数中return语句之后的代码
- 可以用于函数返回一个值
// 输出结果: 0 1 2
function returnFun() {
for (var i = 0; i < 5; i++) {
if (i === 3) return
console.log(i)
}
console.log('return')
}
returnFun()
// 报错不合法的语句:Uncaught SyntaxError: Illegal return statement
for (var i = 0; i < 5; i++) {
if (i === 3) return
console.log(i)
}
四、continue
continue:
- 使用continue语句可以跳过当前循环的剩余代码,直接进行下一次循环的执行
- 通常用于在满足某个条件时跳过本次循环的执行,开始下一次的循环
- 只能用于while、do/while、for、for/in语句的循环体中,其他地方引用会报错
// 输出结果: 0 1 2 4 continue
for (var i = 0; i < 5; i++) {
if (i === 3) continue
console.log(i)
}
console.log('continue')
// 报错不合法语句:Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
switch ('1') {
case '1':
console.log('1')
continue // continue下面飘红线,编写的时候就直接报错了
default:
console.log('default')
}