JS 控制流程 Control Flow
介紹條件控制與迴圈控制
在JS中流程控制的指令分為兩類:
條件控制、迴圈控制
條件控制
語法1:if…else
1 | if (條件式){ |
EX:(儘管此舉例有==else if== 也一樣是同條件語法)
1 | var month = 填入條件(ex.1or 2...) |
語法2:switch(作為 if else簡化用)
1 | switch (key) { |
switch括號內語法(key)可能為”運算式”或”變數、數值”,接著進入case判斷,若key值剛好是case後的值,則會執行case區塊內指令。
而default區塊則是當上面case都不成立時執行,另外break像是 if else 內大括號{}的效果,作為切分使用,如無break來終止,程式可能會一路順暢跑下去。
迴圈控制
for迴圈
基礎for迴圈語法:
1 | var i; |
如上所述,程式語法for()括號裡:
- 左邊的 i=0,為起始值,所以如果希望從1開始計算,就改為i=1,以此類推。
- 中間的 i < 10,為執行迴圈的條件,如當滿足此條件(結果是true時),會進入{}大括號中執行程式碼。
- 右邊的 i++,則是{}大括號執行完,會跳回執行此程式碼,為(執行)結束時變動
- 因此,從上順序來看,在中間程式碼進入{}執行之後再跳回右邊程式碼,如==執行迴圈的條件==符合的情況下會繼續迴圈,否則就會跳出迴圈。
while迴圈
while迴圈語法:
1 | var i = 1;//初始值 |
經過了for迴圈語法,while迴圈語法大同小異,就是順序寫的順序有點不同,但背後運作原理相同。
無論是for迴圈或while迴圈,設定++結束的條件++是必須的。
微進階-do while (與while 執行順序微微不一樣,先執行變動再判斷條件)
1 | var i = 10;//初始值 |
因為執行的關係順序,從上面程式碼計算下來,結果會呈現11喔!與while迴圈語法跑出的無結果不同
break & continue
迴圈中想要跳過其中幾次,或者提早離開迴圈,我們可以使用 break / continue。
兩者差別:
- break會直接跳出迴圈
- continue會跳過一次,再強制繼續下一次迴圈