break;continue;与return的区别

126 阅读1分钟

break;continue和return都可以跳出循环,那么他们有什么区别呢
首先定义一个供循环的数组
const arr = [1,2,3,4,5,6,7,8,9]

break

for(let i = 0;i < arr.length;i++){
  if(arr[i]===5){
     break
  }else{
     console.log(arr[i])
  }
} 
//输出“1,2,3,4;”他会直接跳出整个循环,不会继续执行

continue

for(let i = 0;i < arr.length;i++){
  if(arr[i]===5){
     continue
  }else{
     console.log(arr[i])
  }
} 
//输出“1,2,3,4,6,7,8,9;”他会不会跳出整个循环,而是只跳过本次循环,也就是索引等于4
//的这一次循环,索引为5和5之后的循环会继续执行

return

//return我理解为加强版的break,他的结果和break一样,但他不能单独写在循环里,它需要写在函数包裹
//的循环之中,也就是说,return可以直接结束执行函数,也就间接的结束整个循环
const handle = () =>{
for(let i = 0;i < arr.length;i++){
  if(arr[i]===5){
     return
  }else{
     console.log(arr[i])
  }
 } 
}
//输出“1,2,3,4”

以上纯纯个人理解,如果有更高明的见解可以给我留言一起交流哦