Javascript JS或语句不起作用
我知道这个问题已经被问了一百万次了,但我已经研究了其他线程中建议的几乎所有方法,似乎无法理解为什么我的Javascript JS或语句不起作用,javascript,jquery,Javascript,Jquery,我知道这个问题已经被问了一百万次了,但我已经研究了其他线程中建议的几乎所有方法,似乎无法理解为什么我的中的或语句如果不起作用。如果我的操作完全错误,我想解释一下如何使用或功能 我有以下代码 if((a != 'error') || (a != 'stay')) { //Do something here } 不管a是错误还是停留代码仍在执行 我也试过了 if((!a == 'error') || (!a == 'stay')) { //Do something here }
中的或语句如果不起作用。如果我的操作完全错误,我想解释一下如何使用或功能
我有以下代码
if((a != 'error') || (a != 'stay')) {
//Do something here
}
不管a是错误
还是停留
代码仍在执行
我也试过了
if((!a == 'error') || (!a == 'stay')) {
//Do something here
}
没有括号,但似乎没有任何效果
提前感谢你的情况是重复的。不管a的价值是多少,这都是真的。如果a是“错误”,则a不是“停留”,反之亦然。看来你想要的是
if (a != 'error' && a != 'stay') { /* ... */ }
你的情况是重言式的。不管a的价值是多少,这都是真的。如果a是“错误”,则a不是“停留”,反之亦然。看来你想要的是
if (a != 'error' && a != 'stay') { /* ... */ }
您将(!)符号一起包含在括号中,这是一个错误,不会使逻辑运算符工作。你需要把(!)标志放在括号的外面和前面。请检查下面的代码以了解更多信息
var a = "hello";
var b = "stay";
var c = "error";
if(!(a == 'error') || !(a == 'stay')) {
console.log("Hello");
};
为了获得最佳实践,您应该这样做
var a = "hello";
var b = "stay";
var c = "error";
if(!(a == 'error' || a == 'stay')) {
console.log("Hello");
};
您将(!)符号一起包含在括号中,这是一个错误,不会使逻辑运算符工作。你需要把(!)标志放在括号的外面和前面。请检查下面的代码以了解更多信息
var a = "hello";
var b = "stay";
var c = "error";
if(!(a == 'error') || !(a == 'stay')) {
console.log("Hello");
};
为了获得最佳实践,您应该这样做
var a = "hello";
var b = "stay";
var c = "error";
if(!(a == 'error' || a == 'stay')) {
console.log("Hello");
};
第一句话总是正确的——如果你想一想,因为如果一个是错误,它就不会停留,反之亦然,所以第一个比较或第二个比较都是正确的,这就是或者如何工作的——也许你想要&&
(而且)你可能是指如果(!(a=='error'.\a='stay')
而不是否定a
,我向你保证,OR语句是有效的,你只是没有说你想说的(你认为你在说的)。用语言描述你要测试的内容。当a
不是error
并且a不是stay
(?)你想“在这里做点什么”当a
是error
或者它是stay
(?)[顺便说一句,你的问题与jquery无关]第一句话总是正确的——如果你仔细想想,因为如果一个是错误,它就不是停留,反之亦然,所以第一个比较或第二个比较都是正确的,这就是OR的工作原理-也许你想要&&
(并且)你可能是指如果(!(a=='error'| a=='stay')
而不是否定a
,我向你保证,OR语句是有效的,你只是没有说出你想说的(你认为你在说的)。用语言描述你要测试的内容。当a
不是error
并且a不是stay
时,你想“在这里做点什么”(?)当a
不是error
或者是stay
(?)[顺便说一句,你的问题与jquery无关]我明白了,我假设如果我说&&如果它不是错误并且没有留下,那么如果它是其中一个,那么它仍然会通过,因为另一个语句会返回错误,我应该在回答之前询问,但是如果不是你刚才描述的,你希望它做什么呢?我明白了,我假设如果我说&&if只有在它不是错误并且没有留下的情况下才会被解雇,因此如果它是其中一个,它仍然会通过,因为另一个语句会返回错误,我应该在回答之前询问,但你希望它具体做什么,如果不是你刚才描述的那样?@DanielBeck你是什么意思?我的意思是他们不会做同样的事情。第一个总是记录“你好”。第二个将为a
的任何值记录“Hello”,除了“error”或“stay”。@DanielBeck你的意思是什么?我的意思是他们不做同样的事情。第一个总是记录“你好”。第二个将为a
的任何值记录“Hello”,但“error”或“stay”除外。