有人可以向我解釋爲什麼這兩個提醒'真'?我認爲邏輯或是有意義的 - 第一次測試後的OR短路:100!= 90,因此它是真的。爲什麼第一次測試後的AND短路並沒有繼續?JS邏輯和/或
if (100 != 90 && 100 && 190 && 200 && 290){
alert("true");
} else {
alert("false");
}
if (100 != 90 || 100 || 190 || 200 || 290){
alert("true");
} else {
alert("false");
}
編輯:謝謝大家的幫助!根據您的建議,我想我會AMMEND我的代碼更改爲:!
var trains = [90,100,190,200,290];
var testValue = 100;
if (trains.indexOf(testValue) >= 0){
alert("true");
}
'如果(!100 = 90 && 100 && 190 && 200 && 290)'所有這些都是truthy。你期望看到什麼發生? –
我懷疑你所犯的錯誤是你認爲'if(100!= 90 && 100)'等於'if(100!= 90 && 100!= 100)'它根本不是 –
正是我需要馬特,謝謝 – user3552105