为什么javascript中的运算符不执行if语句的第一部分?

为什么javascript中的运算符不执行if语句的第一部分?,javascript,Javascript,我试图检查如果(a==b)然后如果(c==d)然后如果(a和b值)!=(b和c值) 为什么javascript中的运算符不执行if语句的第一部分?一切正常,答案是否定的 我更新答案 var a=3; var b=3; var c=4; var d=4; 如果((a==b)!=(c==d)){ 文件。填写(‘是’); }否则{ 文件。填写(‘否’); } /* a==b=>TRUE c==d=>TRUE (正确!=正确)==>错误 答案是否定的 */我们在语句返回布尔值(true或false时使

我试图检查
如果(a==b)
然后
如果(c==d)
然后
如果(a和b值)!=(b和c值)


为什么javascript中的运算符不执行if语句的第一部分?

一切正常,答案是否定的

我更新答案

var a=3;
var b=3;
var c=4;
var d=4;
如果((a==b)!=(c==d)){
文件。填写(‘是’);
}否则{
文件。填写(‘否’);
}
/*
a==b=>TRUE
c==d=>TRUE
(正确!=正确)==>错误
答案是否定的

*/
我们在
语句返回
布尔值(
true
false
时使用的运算符。因此,您的if语句正在检查:

  • if(a==b)
    并返回
    true
  • if(c==d)
    和retuns
    true
  • if(true!=true)
    返回
    false
    并转到
    else
你必须这样使用它:

var a=3;
var b=3;
var c=4;
var d=4;
如果(a==b&&c==d&&a!=c)
{
文件。填写(‘是’);
}
其他的
{
文件。填写(‘否’);

}
a==b
返回
true
,而不是
3
。@Teemu如果两者都是3,a==b肯定会返回true?实际上,这一行的逻辑是-if(True!=True)
a==b
返回
True
c==d
,之后if语句是
if(True!=True)
,所以它应该写“No”@Alex-Hmm。。。显然,我考虑眼镜的时间太长了,屏幕上的代码行似乎在跳舞。OP把
=
=
搞混了,似乎她想检查a和b是否不等于c和d,所以答案不是“不”,因为a=b和c=d,a和b也不等于c和d。对于他想解决的那个案子,一切都应该是真的。
var a = 3;
var b = 3;
var c = 4;
var d = 4;

if ((a == b) != (c == d)){
  document.write('Yes');
}else{
    document.write('No');
}