亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么第二個 else if 語句不執行,而是執行第一個?

為什么第二個 else if 語句不執行,而是執行第一個?

縹緲止盈 2023-07-20 14:53:16
我有一個問題,當滿足要求時執行第二個 else if 語句。它執行第一個“if”語句?我不知道為什么它不起作用。它執行checkleeftijd1();而不是checkleeftijd5();先感謝您!function controle1() {    let symptoominv1 = document.getElementById("symptoominv1").value;    let symptoominv2 = document.getElementById("symptoominv2").value;    let symptoominv3 = document.getElementById("symptoominv3").value;    if (symptoominv1 == "koorts" || symptoominv1 == "keelpijn" || symptoominv1 == "vermoeidheid" || symptoominv1 == "diarree" || symptoominv1 == "hoofdpijn" && symptoominv2 == "koorts"|| symptoominv2 == "keelpijn" || symptoominv2 == "vermoeidheid" || symptoominv2 == "diarree" || symptoominv2 == "hoofdpijn"){        if (symptoominv3 == "koorts" || symptoominv3 == "keelpijn" || symptoominv3 == "vermoeidheid" || symptoominv3 == "diarree" || symptoominv3 == "hoofdpijn"){            checkleeftijd1();        }else {            checkleeftijd2();        }    }else if (symptoominv1 != "koorts" || symptoominv1 != "keelpijn" || symptoominv1 != "vermoeidheid" || symptoominv1 != "diarree" || symptoominv1 != "hoofdpijn" && symptoominv2 == "koorts"|| symptoominv2 == "keelpijn" || symptoominv2 == "vermoeidheid" || symptoominv2 == "diarree" || symptoominv2 == "hoofdpijn") {        if (symptoominv3 == "koorts" || symptoominv3 == "keelpijn" || symptoominv3 == "vermoeidheid" || symptoominv3 == "diarree" || symptoominv3 == "hoofdpijn"){            checkleeftijd3();        }else {            checkleeftijd4();        }
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

并且位于之前或優先 - 所以你在第一個 if 中所擁有的實際上是(注意周圍的括號(symptoominv1 == "hoofdpijn" && symptoominv2 == "koorts")

(symptoominv1 == "koorts" || symptoominv1 == "keelpijn" || symptoominv1 == "vermoeidheid" || symptoominv1 == "diarree" || (symptoominv1 == "hoofdpijn" && symptoominv2 == "koorts") || symptoominv2 == "keelpijn" || symptoominv2 == "vermoeidheid" || symptoominv2 == "diarree" || symptoominv2 == "hoofdpijn")

因此,只有“或”之一需要為真,代碼才能進入 if 而不會繼續執行其余語句。使用括號確保順序符合您的預期:

if ((symptoominv1 == "koorts" || symptoominv1 == "keelpijn" || symptoominv1 == "vermoeidheid" || symptoominv1 == "diarree" || symptoominv1 == "hoofdpijn") && (symptoominv2 == "koorts" || symptoominv2 == "keelpijn" || symptoominv2 == "vermoeidheid" || symptoominv2 == "diarree" || symptoominv2 == "hoofdpijn"))

對于第一個和第二個 else 也是如此,如果:

else if ((symptoominv1 != "koorts" || symptoominv1 != "keelpijn" || symptoominv1 != "vermoeidheid" || symptoominv1 != "diarree" || symptoominv1 != "hoofdpijn") && (symptoominv2 == "koorts"|| symptoominv2 == "keelpijn" || symptoominv2 == "vermoeidheid" || symptoominv2 == "diarree" || symptoominv2 == "hoofdpijn"))

else if((symptoominv1 == "koorts" || symptoominv1 == "keelpijn" || symptoominv1 == "vermoeidheid" || symptoominv1 == "diarree" || symptoominv1 == "hoofdpijn") && (symptoominv2 != "koorts" || symptoominv2 != "keelpijn" || symptoominv2 != "vermoeidheid" || symptoominv2 != "diarree" || symptoominv2 != "hoofdpijn"))


查看完整回答
反對 回復 2023-07-20
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

首先,“IF”和它的“ELSE IF”應用了相同的條件,因為代碼是逐行編譯的,因此 JavaScript 會得到 IF 語句中滿足的條件,這就是為什么它永遠不會檢查 else if 條件。



查看完整回答
反對 回復 2023-07-20
  • 2 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號