iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
自我挑戰組

利用30天學習JavaScript&Node.js系列 第 7

Day7- JavaScript的迴圈

  • 分享至 

  • xImage
  •  

今天來討論迴圈的部份。迴圈可以幫助工程師在撰寫重複事情的時候有著更省時省力的寫法。

for迴圈

for迴圈可說是最基本的迴圈寫法,利用()內的條件設置來重複執行{}內的程式碼:

let num = 0;

for(let loop=0;loop<5;loop++){
    num += 2;
}

console.log(num);

()內用;分成三個部份,第一部份要先定義一個變數作為判斷的依據,之後第二部份定義條件,在這條件中,迴圈會一直執行,第三個部份讓每做完一次迴圈後執行指定的動作。以上面的例子來講,因為變數每次++(等同於+=1),所以loop這個變數的變化為0,1,2,3,4,再來變成5的時候會因為條件不符而跳出迴圈,因此迴圈執行了5次,num最終會變成10。

while迴圈

while迴圈只有單獨的條件,符合條件進入迴圈,不符合跳出。將上面的for迴圈改寫可以得到下面while的版本:

let num = 0;
let loop=0;

while(loop<5){
    num += 2;
    loop++;
}

console.log(num);

每次執行後就將loop加1,迴圈一樣執行5次,最後loop會變成5跳出迴圈,num最後也是10。

do while迴圈

do while是while的變形版,這個版本會先執行一次迴圈(do),再看條件是否符合(while)再決定要不要繼續執行剛剛的程式(do)。

let num = 5;
do {
    num++;
}while(num < 5);

console.log(num); //輸出為6

上面這個例子雖然while條件不符合,但會先做一次do,因此輸出為6。

break continue

break跟continue的用法也與其他程式語言相似。碰到break就會跳出當前迴圈,碰到continue就會跳過這一次的迴圈執行,然後執行下一次的迴圈:

for(let i=0;i<5;i++){
    if(i==1) break; //i為1就跳出迴圈
    console.log(i); //最終結果會輸出 0
}
for(let i=0;i<5;i++){
    if(i==1) continue; //跳過i為1的狀況
    console.log(i); //最終結果會輸出 0 2 3 4
}

不過這個用法的使用場合是當前迴圈,若有雙重迴圈而且我要跳出外層迴圈的話我要怎麼做呢?javascript提供了label這個功能來指定要跳出哪個迴圈。

label

label可以做到標記迴圈,給迴圈命名,這樣就能在使用break跟continue時指定要跳出的迴圈:

outside:
for(let i=0;i<5;i++){
    for(let j=0;j<5;j++){
        if(i==2 && j==4) break outside;
        console.log(i,j)
    }
}

這個例子我使用outside標籤外面的迴圈,指定i為2且j為4的時候會跳出外部迴圈,所以這個程式的輸出會長這樣:

https://ithelp.ithome.com.tw/upload/images/20220919/20138060asNEdApODB.png

今天介紹了迴圈這個程式語言中重要的元素,明天來談論函式的概念。


上一篇
Day6- JavaScript的邏輯判斷
下一篇
Day8- JavaScript的函式
系列文
利用30天學習JavaScript&Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言