假設我們現在有個迴圈可以跑 0~4 ,共五次,我們在第 3 次 (i=2)的時候想要跳出迴圈該怎麼做呢?
continue
continue 簡單來說就是跳出『此次』迴圈,接著還會繼續執行迴圈,直到迴圈結束唷!
for (let i = 0; i < 5; i++) {
if (i === 2) {
console.log('continue in loop')
continue
}
console.log(i)
}
會印出
0
1
continue in loop
3
4
break
break 跟 continue 就是相反,跳出此次迴圈之後,就一去不復返了。
for (let i = 0; i < 5; i++) {
if (i === 2) {
console.log('continue in loop')
continue
}
console.log(i)
}
會印出
0
1
break in loop
return
return 也是跟 break 一樣會跳出迴圈,並停止迴圈。
const returnInloop = () => {
for (let i = 0; i < 5; i++) {
if (i === 2) return console.log('return in loop')
console.log(i)
}
}
returnInloop()
會印出
0
1
retrun in loop
有發現我是用呼叫 function 來執行 function body 裡面的迴圈的嗎? 是的,根據ECMA規範,如果 return
並不是在 function body 裡面,會造成 function 停止執行。
所以假設我們是這樣執行迴圈
for (let i = 0; i < 5; i++) {
if (i === 2) return console.log('return in loop')
console.log(i)
}
console.log('here')
會只印出
0
1
return in loop
就不會印出 'here' 了。