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"))

TA貢獻1936條經驗 獲得超7個贊
首先,“IF”和它的“ELSE IF”應用了相同的條件,因為代碼是逐行編譯的,因此 JavaScript 會得到 IF 語句中滿足的條件,這就是為什么它永遠不會檢查 else if 條件。
添加回答
舉報