为什么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)
和retunstrue
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');
}