我想要的结果是第二个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变为ab变为!b||成为&&&&变为||

因此,第二个if的倒置将类似于

(code != '400' && code != '401' && code != '500')

10-05 23:33
查看更多