1、js的逻辑表达式里:null,undefined,NaN,"" 全部为false
var
a =
null
;
var
a = undefined;
var
a = NaN;
var
a = "";
if
(a)
//
以上都false
if
(!a)
//
以上都true
var
a =
"0"
;
var
a = 0;
var
a =
false
;
if
(a==
false
)
//
以上都
true
if
(!a
)
//注意 这种语法判断 当a等于"0"时,不会成立,因为此时a
被
视为
字符串是有效值,但如果==false 就会成立,因为js会自动转换成int来判断
var
a =
"1"
;
var
a = 1;
var
a =
true
;
if
(a ==
true
)
//
以上都
true
if
(a
)
//
以上都
true
2、总结
1、0,"0" ==
false,1,
"1" ==
true
2、null,undefined,NaN,"",0为false
3、非null,undefined,NaN,"",0为true