iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
自我挑戰組

菜鳥建立自信心系列 第 13

Javascript - if else語法

  • 分享至 

  • xImage
  •  

一個條件的情況下
執行時,對條件表達式進行判斷
如果結果為true,則執行if後的語句
如果結果為false,則執行else後的語句

if(條件表達式){
  語句...
}else{
  語句...
}

多個條件的情況下
由上往下依序對if後的條件表達式進行判斷
如果條件表達式結果為true,則執行當前if後的語句,執行完畢,不看後面的程式碼
如果條件表達式結果為false,則繼續往下判斷,直到找到結果為true
如果所有的條件表達式都是false,則執行else後的語句

if(條件表達式){
  語句...
}else if(條件表達式){
  語句...
}else if(條件表達式){
  語句...
}else{
 語句...
}

譬如這個例子

age = 122

if(age >= 100){
  alert("相當長壽的人類")
}else if(age >= 80){
  alert("耄耋之年")
}else if(age >= 60){
  alert("已屆耳順之年")
}else if(age >= 30){
  alert("已屆而立之年")
}else if(age >= 20){
  alert("已屆若冠之年")
}else{
  alert("未滿20歲")
}

如果以下這種寫法,結果會顯示"已經成年"
而不是"可以退休了"
因為第一個條件判斷式(age >= 18)結果為true,所以後面的 else if 條件永遠不會被檢查到

age = 68 

if(age >= 18){
  alert("已經成年")
}else if(age >= 30){
  alert("已經步入中年")
}else if(age >=65){
  alert("可以退休了")
}

建議可以改成以下程式碼

age = 18;

if (age >= 65) {
  alert("可以退休了");
} else if (age >= 30) {
  alert("已經步入中年");
} else if (age >= 18) {
  alert("已經成年");
}

或是將條件判斷式寫得更詳細,但條件更複雜了,而且程式碼可讀性變差

age = 68 

if(age >= 18 && age < 30){
  alert("已經成年")
}else if(age >= 30 && age < 65){
  alert("已經步入中年")
}else if(age >=65){
  alert("可以退休了")
}

上一篇
Javascript - 邏輯運算
下一篇
Ruby - 常見的資料類型
系列文
菜鳥建立自信心30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言