iT邦幫忙

2023 iThome 鐵人賽

DAY 12
1
Software Development

再騙小心沒朋友🥵 用LIFF實作LINE整人工具系列 第 12

[Day12] 不懂JavaScript 只好等著被整😔 流程控制篇 (3)

  • 分享至 

  • xImage
  •  

當我們想要用程式重複執行同樣的動作時,可以用迴圈來重複執行同一組程式碼。而迴圈分為需要計算執行次數不管次數持續執行兩種,今天要講的是需要計算執行次數的 for 迴圈。 for 迴圈會檢測條件是否為 True,如果條件為 true 就會執行 for 區塊的程式碼,一旦條件變成 false 就會停止。

for 迴圈語法

for (initialExpression; condition; incrementExpression) {
  // statements
}
  • initialExpression (初始表達式)
    建立初始條件,在第一次執行迴圈前會先執行 initialExpression,表示迴圈會從該初始值算起。
  • condition (判斷條件)
    迴圈的判斷條件,每次執行迴圈前會先執行 condition 條件式,如果 condition 的值是 true 會執行迴圈,是 false 就跳出 for 迴圈。完全省略 condition 表達式的話,條件值就會被代入為 true,等於無條件執行迴圈。
  • incrementExpression (更新表達式)
    迴圈的更新條件,每次執行完迴圈後,都會執行 incrementExpression 語句。

for 迴圈實際範例

	for (var i = 0; i < 5; i++) {
		console.log(i);
	}
  • var i = 0 迴圈的初始條件,表示迴圈會從 0 開始算起。
  • i < 5 迴圈內的程式碼會一直重複執行,直到 i 值不小於 5 為止。
  • i++ 每執行完一次迴圈,i 的值就會加 1。

break 和迴圈的關係

break 的作用是跳出整個 for 迴圈,像有時候在執行迴圈時只要找到第一個符合條件的值,後面就不用再繼續執行程式碼的時候就可以用 break 退出迴圈,但是 break 要加在對的位置上才有效!

假設要執行一個迴圈,每執行一次迴圈變數 counter 的值就會加 1 ,但當 counter 超過 11 時就停止迴圈。

var counter = 1;
	for (var i = 0; ; i++) {
		if (counter > 10){
			console.log(counter);
			break;
		}		
		counter = counter + 1;	
	}

正確的作法是將 break 放在 if 判斷式裡面,當條件滿足counter > 10就會終止迴圈,而 break;之後的程式碼都不會執行,於是在迴圈執行第 11 次時印出 counter 的值後就跳出迴圈。

如果不小心把 break 放在 if 判斷式外面 & for 迴圈裡面,不管條件是否成立 for 迴圈都只會執行一次。

continue 和迴圈的關係

continue 的作用是讓程式跳過迴圈剩餘的程式碼,直接執行下一次迴圈。

var counter = 0;
	for (var i = 0; i < 5; i++) {
		if (i < 3) {
			continue;
		}
		counter += i;
		console.log(counter);
	}

執行上面的程式碼會發現只印出 3 跟 7,因為 i 值在0、1、2時的動作都被跳過,只有在 i 等於 3、4 的時候才會執行程式,所以才會只印出兩次 counter 的值。


上一篇
[Day11] 不懂JavaScript 只好等著被整😔 流程控制篇 (2)
下一篇
[Day13] 不懂JavaScript 只好等著被整😔 流程控制篇 (4)
系列文
再騙小心沒朋友🥵 用LIFF實作LINE整人工具30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言