1、js的逻辑表达式里:
null
,0,undefined,NaN,""空字符串 全部为
false
var
a =
null
;
var
a = undefined;
var
a = NaN;
var
a = 0;
var
a =
"0"
;
var
a = "";
if
(a)
//以上都false
if
(a ==
false
)
//以上都false (注意,a非0或false,就不会==false)
if
(!a)
//以上都true
var
a =
"0"
;
var
a = 0;
var
a =
false
;
if
(a==
false
)
//
以上都
true
if
(!a
)
//
以上都
true
var
a =
"1"
;
var
a = 1;
var
a =
true
;
if
(a ==
true
)
//
以上都
true
if
(a
)
//
以上都
true
2、总结
1、js的逻辑表达式里,虽然某些值会为false,但==
f
alse
,==
true
只是对于布尔值类型的判断,当对象或变量非布尔值时就不会成立
2、0,
"0"
都为
f
alse
,1和
"1"
都为
true