2024-10-27|閱讀時間 ‧ 約 3 分鐘

JS 語法 - if statement (依設定條件進行判斷)

  在寫程式的時候,我們常會需要針對不同情況來執行不同的工作。

  以帳號登入舉例來說:「假設用戶輸入帳號密碼正確,便可成功登入」,這就是一個基本的判斷式。如果寫成 code 的話,就會長這樣:

if(帳號密碼正確) {
成功登入;
}


  那如果要設定帳號密碼輸入錯誤的後續處理工作呢,我們可以在原本的程式碼後再加上 else:

if(帳號密碼正確) {
成功登入;
} else {
阻止登入並跳出錯誤提醒;
}


  但除了這兩種狀況以外,為了資訊安全,我們可能不希望讓用戶一直嘗試,如果輸入密碼錯誤三次,就要把帳號進行鎖定,這個時候就是使用 else if :

if(帳號密碼正確) {
成功登入;
} else if (帳號密碼錯誤三次) {
鎖定帳戶;
} else {
阻止登入並跳出錯誤提醒;
}


  咦?為什麼錯誤三次會寫在第二個呢?

  這是因為 if statement 的執行方式是這樣的:

  • if(條件1) { 指令1; } else if(條件2) { 指令2; }… else { 指令n }
    • 假設所述條件一為真,執行指令1,若否,查看條件2是否為真,若否則繼續查看,直到條件符合,若所有條件皆不符合,執行else的指令。


  最後來個小練習:試著製作一個票價檢索系統,輸入年齡後自動提示票價

  • 一般成年票為250元。
  • 年齡低於12歲為兒童票,票價100元。
  • 年齡高於64歲為敬老票,票價150元。





解答如下:

let age = window.prompt("你的年齡是?");
age = Number(age);
console.log(typeof age);

let price;
let name;

if (age > 0 && age <= 12) {
name = "兒童票";
price = 100;
} else if (age > 12 && age <= 65) {
name = "成人票";
price = 250;
} else if (age > 64 && age <= 125) {
name = "敬老票";
price = 150;
}

if (price != undefined) {
alert("您是" + name + ",您的票價是" + price + "元");
}
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.