Javascript 比较成对的条件
有没有一种简单的方法可以在不嵌套if/else语句的情况下比较条件对?换句话说,如何将以下两个比较组合成一个比较Javascript 比较成对的条件,javascript,if-statement,comparison,conditional-statements,Javascript,If Statement,Comparison,Conditional Statements,有没有一种简单的方法可以在不嵌套if/else语句的情况下比较条件对?换句话说,如何将以下两个比较组合成一个比较 (x>=6&&y=6&&x=6){ 如果(y=6)这样做(); } 然而,这一切似乎都很冗长。有更好的方法吗???因为x和y是整数,所以可以将这两个比较与以下内容结合起来: if (x >= 6 === y <= 5) { ... } 我们可以定义布尔变量,以明确: 由于true和false是唯一可能的值,因此前一行相当于 将变量的原始表达式放回: x和y整数
(x>=6&&y=6&&x=6){
如果(y=6)这样做();
}
然而,这一切似乎都很冗长。有更好的方法吗???因为
x
和y
是整数,所以可以将这两个比较与以下内容结合起来:
if (x >= 6 === y <= 5) {
...
}
true
和false
是唯一可能的值,因此前一行相当于x
和y
整数吗?@ConnorsFan变量整数非常有趣。我以前从未见过这样的事。它有名字吗?@MooingDuck在对尼娜回答的评论中提到,它与XOR运算符的作用类似;事实恰恰相反。如果两个布尔值相反(一个true,一个false),则返回true;如果两个布尔值相同,则返回false。据我所知,Javascript中的XOR运算符(^
)是用作逻辑运算符,而不是真正用作逻辑运算符。如果没有括号,则使用三重条件,您希望得到什么?顺便说一句,假设这两个条件都用括号分组,如(x>=6)==(y@NinaScholz-由于=
和只是一个提示,您也可以使用x=6
。
if (x >= 6) {
if (y <= 5) doThis();
} else {
if (y >= 6) doThis();
}
if (x >= 6 === y <= 5) {
...
}
(x >= 6 && y <= 5) || (x <= 5 && y >= 6)
(x >= 6 && y <= 5) || (!(x >= 6) && !(y <= 5))
let cond1 = x >= 6;
let cond2 = y <= 5;
(cond1 && cond2) || (!cond1 && !cond2)
(cond1 === true && cond2 === true) || (cond1 === false && cond2 === false)
(cond1 === cond2)
((x >= 6) === (y <= 5))
(x >= 6 === y <= 5)