iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Modern Web

[學習筆記] 邊學邊寫 JavaScript 30天系列 第 7

[學習筆記] 邊學邊寫 JavaScript 30天 (7):迴圈

  • 分享至 

  • xImage
  •  

今天內容

  • do...while 迴圈
  • while 迴圈
  • for 迴圈
  • 課後小練習(昨天的題目)

筆記

  • do...while 迴圈:先做再說,會先執行一次後再判斷條件,直到條件終止後,才會跳出迴圈。來一個印出1~5的小範例:

    var i = 1    //初始值
    do {
       console.log(i)   //{}迴圈要做的事
       i++
    } while (i <= 5)    //終止條件
    // 1 
    // 2 
    // 3 
    // 4 
    // 5
    // 跳出迴圈時i=6,但因為外面沒有印出所以看不到。可以加一行console.log來看看
    console.log(i)  //6 (好console.log不用嗎?)
    

    在寫迴圈時,不確定它是怎麼執行的情況下。可以用電腦的思維一行一行寫下來,幫助釐清。例如上面的迴圈我的理解是這樣:
    初始值 i = 1
    do 進入迴圈(沒有先判斷直接進迴圈)
    console.log(i) //1
    i = i+1 //先執行這一次i=2了
    判斷條件 i <= 5 是true 回到do跑第二次
    console.log(i) //2
    i = 2+1
    判斷條件 i <= 5 是true 回到do跑第三次
    console.log(i) //3
    i = 3+1
    判斷條件 i <= 5 是true 回到do跑第四次
    console.log(i) //4
    i = 4+1
    判斷條件 i <= 5 是true 回到do跑第五次
    console.log(i) //5
    i = 5+1
    判斷條件 i <= 5 是false跳出迴圈,所以6沒有被印出。
    VScode有偵錯模式可以一行一行的執行。

  • while 迴圈:先判斷條件,符合條件才會進到迴圈,直到條件終止才會跳出,一樣用上面的範例來改。

    var i = 1    //初始值
    while (i <=5 ) {    //終止條件
       console.log(i)   //{}迴圈要做的事
       i++
    }
    // 1 
    // 2 
    // 3 
    // 4 
    // 5
    

    不小心製造出無限迴圈時,在Mac上可以按Ctrl+C來跳出。

  • for 迴圈:跟 while 迴圈一樣,但會把初始值,終止條件,迴圈要做的事都寫在一起,通常用於已知會跑多少圈的情況下,一樣用上面的範例來改。

    for (var i = 1; i <= 5; i++) {
       console.log(i)
    }
    // 1 
    // 2 
    // 3 
    // 4 
    // 5
    

  • 課後小練習(昨天的題目):小明的體重70公斤,身高177公分,請幫他計算他的BMI範圍所對照的結果多少? BMI值的計算公式為: 體重 / 身高(公尺)*身高(公尺)

    BMI範圍 對照結果

    BMI < 18.5 | 體重過輕
    18.5 ≤ BMI < 24 | 正常範圍
    24 ≤ BMI < 27 | 過重
    27 ≤ BMI < 30 | 輕度肥胖
    30 ≤ BMI < 35 | 中度肥胖
    35 ≤ BMI | 重度肥胖

    var weight = 70
    var HeightCentimeter = 177
    
    var HeightMeter = HeightCentimeter/100
    var BMI = weight / HeightMeter**2
    console.log("你的BMI:" + BMI)
    
    if (BMI < 18.5) {
        console.log("體重過輕")
    } else if (BMI >= 18.5 && BMI < 24) {
        console.log("正常範圍")
    } else if (BMI >= 24 && BMI < 27) {
        console.log("過重")
    } else if (BMI >= 27 && BMI < 30) {
        console.log("輕度肥胖")
    } else if (BMI >= 30 && BMI < 35) {
        console.log("中度肥胖")
    } else {
        console.log("重度肥胖")
    }
    // 你的BMI:22.34351559258195
    // 正常範圍
    

    MDN:Operator precedence **優先級會高於/就沒有用括號去括(身高平方)這一個計算。
    以上是我自己的淺解,沒有標準答案。如有錯誤還請各位大大不吝指教與糾錯。非常感謝!


參考資料


上一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (6):判斷式
下一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (8):函式
系列文
[學習筆記] 邊學邊寫 JavaScript 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言