Day12:忙得團團轉的迴圈
迴圈指的是「重複做某件事,次數隨著數值『遞增」或『遞減』,當數值滿足所設的條件,則退出迴圈」。
所以當我們要「重複做某件事」的時候,第一個進入腦海中的方法應該就是迴圈。例如console.log(1)到(9)、求某數值範圍的平方或是九九乘法表之類的。
最常見的迴圈有 for 與 while 兩種。
for迴圈
for迴圈的語法如下:
var i = 0; 是在設定初始值,變數i的有效範圍與for迴圈相同。
i < n; 則是在為for迴圈設定條件,變數i的有效範圍跟for迴圈的有效範圍是相同的,一旦變數i滿足這個條件,迴圈就會結束。如果還為滿足就去執行{}內的程式敘述。
i++; 則在迴圈跑完一次時遞增,直到迴圈結束。
讓我們來試試看99乘法表該如何利用迴圈來執行:
while迴圈
while迴圈通常長成這個樣子:
var i = 0; 設定初始值。
(i < 10) 這定迴圈執行的條件。
i++;在{}的結尾處讓變數遞增或遞減,直到變數i滿足所設條件,結束迴圈。
讓我們試著用while迴圈來印出1~9的平方:
while迴圈最常見的疏忽就是忘了在結尾設定變數遞增(i++),結果造成條件一直無法滿足,於是無窮迴圈的一直執行下去。
那何時該用for迴圈?何時該用while迴圈呢?
在《0陷阱!0誤解!8天重新認識JavaS》一書中有提到:
「
- for迴圈的使用情境,大多是用在迴圈執行次數「明確」的狀態。
- 而while迴圈剛好相反,當迴圈執行次數「不確定」的時候更適合。
」
讓我們利用for迴圈來選出大樂透的號碼,有1到49個號碼,要選出6個不重複號碼:
49個號碼選出6個,執行次數6次,如果使用for迴圈,看起來就一目了然,是適合用for迴圈來執行的情境。
Day12:忙得團團轉的迴圈
https://popeye-ux.github.io/2021/09/12/21-day12-loop/