我想要的结果是第二个if else语句如果代码不在列表然后提醒,我不明白为什么第一个if else语句失败,我以为只是反向第二个if else语句?我误解了一些事情吗?
https://jsfiddle.net/e6qohvhc/
var code = '500';
if (code != '400' || code != '401' || code != '500') {
console.log('true'); // I don't want it alert here
}
if (code == '400' || code == '401' || code == '500') {
// I have to always leave this empty line ...
} else {
console.log('second true');
}
答案 0 :(得分:4)
答案 1 :(得分:4)
如果要反转语句,则必须反转每个运算符。
#define int int64_t
#define char char32_t // Is this unsigned?
#define short int32_t
#define long __int128
变为!a
,a
变为b
,!b
变为||
,&&
变为&&
因此,您的第二个||
的反转将类似于
if
答案 2 :(得分:0)
if(code != '400' || code != '401' || code != '500'){}
总是如此,因为变量不能等于多个值
答案 3 :(得分:0)
问题是||
首先,500
的陈述始终为真,这就是您遇到问题的原因/
以这种方式做它,它应该按你想要的方式工作(在你的小提琴中检查);
var code = 500;
alert(code);
console.log(code);
if (((code !== 400) || (code !== 401)) && (code !== 500)) {
console.log('true');
alert("123");
}
else if ((code == 400) || (code == 401) || (code == 500)) {
alert("456");
} else {
console.log("second true");
alert("else");
}