在寫程式的時候,我們常會需要針對不同情況來執行不同的工作。
以帳號登入舉例來說:「假設用戶輸入帳號密碼正確,便可成功登入」,這就是一個基本的判斷式。如果寫成 code 的話,就會長這樣:
if(帳號密碼正確) {
成功登入;
}
那如果要設定帳號密碼輸入錯誤的後續處理工作呢,我們可以在原本的程式碼後再加上 else:
if(帳號密碼正確) {
成功登入;
} else {
阻止登入並跳出錯誤提醒;
}
但除了這兩種狀況以外,為了資訊安全,我們可能不希望讓用戶一直嘗試,如果輸入密碼錯誤三次,就要把帳號進行鎖定,這個時候就是使用 else if :
if(帳號密碼正確) {
成功登入;
} else if (帳號密碼錯誤三次) {
鎖定帳戶;
} else {
阻止登入並跳出錯誤提醒;
}
咦?為什麼錯誤三次會寫在第二個呢?
這是因為 if statement 的執行方式是這樣的:
最後來個小練習:試著製作一個票價檢索系統,輸入年齡後自動提示票價
解答如下:
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 + "元");
}