有人可以向我解释为什么这两个提醒'真'?我认为逻辑或是有意义的 - 第一次测试后的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