我是js的新手,我想知道JS中是否有XNOR运算符。我试过了!(a^b)
但它给出了奇怪的结果。例如:
var a,b="aa";
a^b
此代码返回true,但是,XNOR返回false。
的更新
如果两个操作数是 true (与false值不同),或者两个 false (都等于:null,undefined,“” - empty,我需要返回true string-或0)
答案 0 :(得分:3)
以上是XNOR的真值表。如果A和B都为FALSE或TRUE,则生成的XNOR为真。因此,在我看来,只是简单地检查相等性实际上相当于XNOR。
所以:
(a === b) = (a XNOR b)
编辑:为了适应您的条件:这应该有效:
a == b
请注意,有两个“=”,而不是三个,表示这是比较“truthy”值。
答案 1 :(得分:2)
按位xnor是:
~(a ^ b)
合乎逻辑的一个;
a === b
答案 2 :(得分:0)
试试这个(!(A ^ B))
或者(A && B) || (!A && !B)
答案 3 :(得分:0)
尝试(a^b)==0
我认为javascript中XNOR的结果是:true^true = 0