javascript true和true在if语句中返回false?
在普通javascript函数中。值min_chk和max_chk均为真,但if函数仍显示警报。不知道为什么javascript true和true在if语句中返回false?,javascript,Javascript,在普通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 ran
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');
}
布尔值
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');
}
如果两侧的操作数具有不同的类型,则
=
运算符返回false
。布尔值true
和字符串“true”
有不同的类型
你应该把支票换成现金
if (min_chk && max_chk)
由于
min_chk
和max_chk
已经是布尔值,您不需要直接将它们与true
进行比较,甚至更好,完全去掉==true
。没必要,这是真的。由于CheckIt
的返回值已知,因此不需要进行严格的比较。