在if语句中为true, true返回false

javascript true and true returning false in if statement?

本文关键字:true false 返回 if 语句      更新时间:2023-09-26

在普通javascript函数中。min_chk和max_chk这两个值都为真,但是if函数仍然显示警报。不知道为什么?

function Checkit(m,n){
return m>n;
}
var min_chk = Checkit(a,X);
var max_chk = Checkit(b,Y);
if ((min_chk === 'true') && (max_chk === 'true')){
...
    } else {
    alert('invalid range');
}

如果两边的操作数类型不同,则===运算符返回false。布尔值true与字符串"true"类型不同

你应该把支票改成

if (min_chk && max_chk)

由于min_chkmax_chk已经是布尔值,你不需要直接与true比较。

布尔值true与字符串'true'不同。去掉引号

去掉true

function Checkit(m, n) {
    return m > n;
}
var min_chk = Checkit(a, X);
var max_chk = Checkit(b, Y);
if ((min_chk === true) && (max_chk === true)) {...
} else {
    alert('invalid range');
}