在普通的javascript函数中。值min_chk和max_chk均为true,但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');
}
答案 0 :(得分:3)
布尔值true
与字符串'true'
不同。删除引号。
答案 1 :(得分:3)
如果两侧的操作数具有不同的类型,则===
运算符返回false
。布尔值true
和字符串"true"
具有不同的类型。
您应该将支票更改为
if (min_chk && max_chk)
由于min_chk
和max_chk
已经是布尔值,因此您无需直接将其与true
进行比较。
答案 2 :(得分:1)
摆脱''围绕真实
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');
}