我想要的结果是第二个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');
}
最佳答案
这与De Morgan's laws有关:
如果要反转语句,则必须反转每个运算符。!a
变为a
,b
变为!b
,||
成为&&
,&&
变为||
。
因此,第二个if
的倒置将类似于
(code != '400' && code != '401' && code != '500')