初級 免費 ⏱ 10m44s

8-3 Label | Break | Continue 陳述式與迴圈控制

Lesson: 8-3 Label | Break | Continue 陳述式與迴圈控制

JavaScript

8-3 Label | Break | Continue 陳述式與迴圈控制

Original: https://course.andys.pro/Javascript-Intro/08-3-label-or-break-or-continue-statement-and-loop-control/

講義

1. Break 與 Continue

在迴圈執行過程中,我們有時候需要中途改變它的執行路徑:

  • break (中斷)
    • 立即停止並跳出目前的整個迴圈。
    • 常用場景:找到目標資料後就停止搜尋。
    • 範例:for 跑 110,但在 i == 5 時寫 break,程式會停在 4 (或 5,視寫法而定),後面的 610 不會執行。
  • continue (跳過)
    • 略過本次迴圈「後半部」未執行的程式碼,直接進入下一次的計算 (i 遞增)。
    • 常用場景:篩選資料(例如遇到偶數就跳過,只處理奇數)。
    • 範例:for 跑 1~5,在 i == 3 時寫 continue,最後結果會是 1, 2, 4, 5 (3 被跳過了)。

2. Label (標籤)

  • 用途:給迴圈起一個專屬的名字。
  • 語法labelName: for (...) { ... }
  • 場景:在多層迴圈(巢狀迴圈)中,若我們在最內層想要一口氣跳出「最外層」的迴圈,就可以使用 break labelName;

3. 程式碼順序的重要性

使用 continue 時要注意位置。

  • 如果 console.log 放在 continue 之前,該次循環的數據還是會被印出。
  • 如果放在 continue 之後,該次循環由於被「跳過」了,後面的 log 就不會執行。

影片逐字稿 (AI 生成)

歡迎來到8之3那我們現在已經知道了回圈了以後我們要學會如何去控制回圈那有兩個東西我們可以來用第一個是break 一個是continue那首先呢 我們會用label乘數式來幫我們的乘數式來做命名的部分好label 提供一個有識別字的乘數式讓你可以在別的地方參考然後幫主要的功能就是幫回圈命名但它的語法是這樣 就是label然後冒號然後後面就是statement那我們可以看例子就是比如說像那個mark loop然後這邊就是while true然後就會開始一直做一直執行這個function然後我們就可以叫它是mark loop好再來我們來講break那break就是說我可以中指一個回圈那這邊中指一個回圈是中指for或是while好 在這邊的情況下是我原本是從1會一直跑到10那我這邊中間加了一個條件式是什麼當如果i是5的情況下我要break那break不是只有把if就是if只是條件式嘛它不是回圈嘛那break是把這個for這個回圈跳掉好那聽起來有點抽象我們跑跑看首先我們先跑一個就像原本的樣子讓大家可以更容易理解清掉原本是這樣嘛從1然後因為這個小魚等於10所以它會跑1到10這沒有什麼問題對不對好那我們看第二個我們想要在第5的時候i等於5的時候break1 2 3 4 5然後i等於5的時候就break就跳掉了ok所以break就是把這個for就直接跳掉後面它就不會一直在持續在跑它直接這個回圈它就跳出來好再來呢這個範例會比較複雜一點主要呢它有兩層的while第一層while是true所以它會一直跑一直跑永遠不會結束這個跑這個超危險就是你的那個tab可能會就是一直跑一直跑然後會炸掉像我剛才那樣好基本上它不只是一個true會一直跑它有兩層都會一直跑它有兩層都會一直跑好所以這時候就是就是要考驗大家就是我們有學到這個label嘛對不對所以我先把這個東西命名自己自己叫做loop我是loop然後loop裡面有一個while true然後到最後要把自己關掉所以在裡面呢兩個第一件事情就是要break自己好我現在是不是在八字山啊這邊好像放錯位置好記得縮牌要把它縮好這樣會比較知道自己的code長的是什麼樣子希望它的code沒有錯不然我這個分頁好我們先清掉好它閃了一下馬上就結束了那其實大家可以就是可能會不知道到底發生什麼事情可是它其實就是進去進去然後到這邊就把自己再再砍掉那如果說很難知道到底發生什麼事情的話那我們應該這邊就是有時候就是要因為城市就要可以看到會比較知道發生什麼事所以我們可以console logfirstwhile然後呢我們這邊應該講說這邊我們叫做button那應該只會跑前面兩個嘛對不對因為它break loop它就不跑了first whilesecond whilebreak loop就砍掉了它這邊也不會跑這邊也不會跑OK因為它自己進來到這裡然後它就把自己break掉如果你單純只有用break你只能中止這個while回圈你break這裡如果你只有break然後你是不是外面還有在break一次break break它才會把這兩個中止掉那可是我現在break有因為我命名這個這個整個是叫做這個loop叫做loop所以我break loop就會把這裡最外面這一層砍掉它連裡面它都不會跑OK好了接下來我們來講continue那我們會把剛剛的那個類似的那個例子現在我們的例子是從1到5那這個例子是說如果我的i是等於3的時候我continue那因為我的console log是在這個條件式的後面才會印出來所以當我是3continue它會怎麼樣它會回去直接到這個回圈的開頭它後面它就不會跑它就在這個scope裡面所以等於說它少跑了一次這個console log它等於3 continue它就回到這邊加加然後再下來這時候i等於4然後就是ifi等於3因為i等於4的嘛不等於所以它後面才會console log所以大家會發現跑出來的結果會缺乏一個3我放錯位置然後拿到code以後要檢查它的indent那這邊呢這份code的indent因為它的if只有跑一行continue所以它就沒有做那個大括號了只有一行可以這樣喔可是我們還是把它刮起來比較保險好讓我跑跑看輕輕掉1 2 4 5ok因為它在這邊continue他說老師如果我的順序是不一樣的比如說比如說我今天是這樣那它跑出來會怎樣1 2 3 4 5都會跑因為因為它省略是後面continue是後面的東西而不是前面它是省略這裡它continue是從這裡再跑回圈出然後就直接跳到4好這有點混淆反正就是i等於3continue以後它後面都不會跑了ok在這個continue後面的這邊外面的都不會跑可是前面的因為它先跑所以是先後順序的問題好所以我們知道continue是還是會在回圈以內只是它有某些條件它會從頭再開始跑跑到可能加加以後再跑下一個好的本帳的重點是我們學了很多很多的東西第一個是我們學了if else再來的條件是然後再來我們學了switch就是有哪些值是一樣的然後還有它預設值再來我們學了fordo while跟while最後我們用break和continue來控制回圈我們可以跳出回圈同時我們可以來跳過回圈的一圈好這就是第八章謝謝

影片逐字稿largev2

歡迎來到8-3那我們現在已經知道了回圈了以後我們要學會如何去控制回圈那有兩個東西我們可以來用第一個是break 一個是continue那首先呢我們會用label陳述室來幫我們的陳述室來做命名的部分好它label提供一個有識別字的陳述室讓你可以在別的地方參考然後幫主要的功能就是幫回圈命名那它的語法是這樣就是label然後冒號然後後面就是statement那我們可以看例子就是比如說像那個mark loop然後這邊就是while true然後就會開始一直做一直執行這個function然後我們就可以叫它是mark loop好再來我們來講break那break就是說我可以終止一個回圈那這邊終止一個回圈是終止for或是while好在這邊的情況下是我原本是從1會一直跑到10那我這邊中間加了一個條件式是什麼當如果i是5的情況下我要break那break不是只有把if break就是if只是條件式嘛它不是回圈嘛那break是把這個for這個回圈跳掉好那聽起來有點抽象我們跑跑看首先我們先跑一個就是它原本的樣子讓大家可以更容易理解清掉原本是這樣嘛從1然後因為這是小於等於10所以它會跑1到10這沒有什麼問題對不對好那我們看第二個我們想要在第5的時候i等於5的時候break1 2 3 4 5然後i等於5的時候break就跳掉所以break就是把這個for就直接跳掉後面它就不會一直在持續在跑它直接這個回圈它就跳出來好再來呢這一個範例會比較複雜一點主要呢它有兩層的while第一層的while是true所以它會一直跑一直跑永遠不會結束跑這個超危險你的tab可能會一直跑一直跑然後會炸掉像我剛才那樣重點是它不只是一個true會一直跑它有兩層都會一直跑好所以這時候就是要考驗大家就是我們有學到這個label嘛對不對所以我先把這個東西命名自己叫做loop我是looploop裡面有一個while true然後到最後要把自己關掉所以在裡面呢兩個第一件事情就是要break自己好那我們跑跑看欸sorry我現在是不是在8-3啊這邊好像放錯位置好記得縮排要把它縮好喔這樣會比較知道自己的code長的是什麼樣子這樣子希望它的code是沒有錯不然我這個人也好我們先清掉好它閃了一下馬上就結束了那其實大家可能會不知道到底發生什麼事情可是它其實就是進去進去然後到這邊就把自己再砍掉那如果說很難知道到底發生什麼事情的話那我們應該在這邊就是有時候就是要因為程式就要可以看到會比較知道發生了什麼事這邊有一個console logfirstwhilesecond然後呢我們這邊應該講說這邊我們叫做button那應該只會跑前面兩個嘛對不對因為它break loop它就不跑了firstwhile second while break loop就砍掉了它這邊也不會跑這邊也不會跑因為它自己進來到這裡然後它就把自己break掉ok如果你單純只有用break你只能終止這個while回圈你break這裡如果你只有break然後你是不是外面還要再break一次它才會把這兩個終止掉那可是我現在break有因為我命名這個整個是叫做這個loop叫做loop所以我break loop就會把最外面這一層砍掉它連裡面它都不會跑ok好了接下來我們來講continue那我們會把剛剛的那個類似的那個例子現在我們的例子是從1到5那這個例子是說如果我的我的i是等於3的時候我continue那因為我的console log是在這個條件式的後面才會印出來所以當我是3continue它會怎麼樣它會回去直接到這個這個回圈的開頭它後面它就不會跑它就在這個scope裡面所以等於說它少跑了一次這個console log它等於3continue它就回到這邊++然後再下來這時候i等於4然後就是if i等於3因為i等於4了嘛不等於所以它後面才會console log所以大家會發現跑出來的結果會缺乏一個3我放錯位置然後拿到code以後要檢查它的indent那這邊呢這份code的indent因為它的if只有跑一行continue所以它就沒有做大括號了只有一行可以這樣喔可是我們還是把它刮起來比較保險1245因為它在這邊continue它說老師如果我的順序是不一樣的比如說比如說我今天是這樣那它跑出來會怎樣12345都會跑因為它省略的是後面continue是後面的東西而不是前面的它是省略這裡它continue是從這裡再跑回這個迴圈出然後就直接跳到4這有點混淆反正就是i等於3continue以後它後面的都不會跑了在這個continue後面的這邊外面的都不會跑了可是前面的因為它先跑了所以是先後順序的問題所以我們知道continue是還是會在迴圈以內只是它有某些條件它會從頭再開始跑跑到可能++以後再跑下一個好的本章的重點是我們學了很多很多東西第一個是我們學了if else再來的條件是然後再來我們學了switch就是有哪些值是一樣的然後還有它預設的值我們學了for do while跟while最後我們用break和continue來控制迴圈我們可以跳出迴圈同時我們可以來跳過迴圈的一圈好這就是第八章謝謝