※ 迴圈(for loop)介紹:
迴圈的用途是重複執行程式碼,只要條件滿足,就會執行特定的動作。
for (let i = 0; i < 10; i = i + 1) {
console.log(i);
}
說明:
- for:對於。
- let:因為迭代器的數值會一直改變所以要用let。
- i:迭代器,用來跑迴圈的一個變數。
- i = 0:將迭代器初始化為0。
- i < 10:迴圈條件,在此條件為 true 時 ,迴圈都會執行。
- i = i + 1:迴圈每執行一次,做為索引的變數 i 就會加 1。
- { console.log(i); }:執行程序,將希望重複的動作定義在
{ }
之中。
※ 面試考題:在 for 迴圈裡的i 是在迴圈開始以後才誕生的變數,當迴圈結束時,這個變數也會消失。所以程式繼續往下跑以後,就無法在 for 迴圈外面繼續使用 i 這個變數。所以必須把i放在外面做宣告,才能取得最後一個 i 的值。
※ 迴圈(while loop)介紹:
while流程:
※ 寫程式時要避免造成無限迴圈,因為程式無窮循環,會讓瀏覽器進入接近當機狀態,同時你會看見 console 持續輸出訊息。
例如以下是一個錯誤示範:
※ while loop和for loop差別:
- 使用while的時機:遇到不特定次數的時候,我們比較注重的是它條件的本身,也就是說只要條件有效,就持續執行迴圈。例如登入的時候我們要做什麼﹔登入了多久之後我們要幹嘛?
- 使用for的時機:遇到固定次數的時候,也就是需要指定明確的執行次數。
- 比較while和for兩個例子裡,因為i 被宣告的位置不一樣,因此變數存活的範圈也不一樣:
說明:
在 while 迴圈的例子裡,i 是屬於外層,進到迴圈內可以繼續使用,迴圈結束後也可以繼續使用。
在 for 迴圈的例子裡,i 是在迴圈開始以後才誕生的變數,當迴圈結束時,這個變數也會消失。所以無法在 for 迴圈外面繼續使用 i 這個變數。