iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
自我挑戰組

菜鳥的前端學習筆記系列 第 10

DAY10 - while

  • 分享至 

  • xImage
  •  

前言

今天進入迴圈的第二天,該來聊聊 while 了!


while loop

for 的明確執行次數相比,while 是只要條件符合要求就會一直重複執行迴圈,直到條件出現不符合的情況時才會跳出迴圈,所以在運用 while 時,需要特別注意避免無窮迴圈的情形發生,拿昨天 for 數字輸出1-10的例子來說明:

// 請注意,這是個錯誤示範
let x = 1
while (x <= 10) {
 console.log(`輸出: ${x}`)
}

將錯誤的程式碼分解來看:

  1. 宣告一變數x = 1
  2. 當 x <= 10時,輸出 x

由於x永遠等於1,也永遠符合條件,此時程式會無止盡的重複執行...當程式陷入無窮循環可能會伴隨當機、需要重開機才能跳脫等可怕的狀況,所以在撰寫程式碼時一定要小心不要落入無窮迴圈的情況。

而這個例子正確的程式碼應該是這樣:

let x = 1
while (x <= 10) {
 console.log(`輸出: ${x}`)
 x++  // 多加這行,讓x每次進入迴圈輸出完+1
}

因為每次迴圈x都會進行+1的動作,所以當x大於10的時候,便不符合條件也就不會再一直重複進入迴圈了。


break

當遇到必須一定要脫離迴圈的情況時,可以使用break來強制跳脫迴圈,假如希望在x等於5就停止不再進行迴圈時:

let x = 1
while (x <= 10) {
	console.log(`輸出: ${x}`)
	if (x === 5) {
		break
	}
  x++
}

從這段程式碼中會發現x並不會像前面一樣一直到大於10才停下,程式會在x等於5的時候就跳出迴圈不再繼續進行。


上一篇
DAY9 - for
下一篇
DAY11 - 作用域
系列文
菜鳥的前端學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言