通常在以下語句結構中需要判斷真假
if分支語句
while循環語句
for裡的第二個語句
如
複製代碼代碼如下:
if (boo) {
// do something
}
while (boo) {
// do something
}
JavaScript中有6個值為“假”,這六個值是
false
null
undefined
0
'' (空字符串)
NaN
這裡面false本身是布爾類型,其它5個則不是。
除了這6個外,其它均為“真” ,包括對象、數組、正則、函數等。注意'0'、'null'、'false'、{}、[]也都是真值。
雖然這六個值都為“假”,它們之間並非都相等
複製代碼代碼如下:
console.log( false == null ) // false
console.log( false == undefined ) // false
console.log( false == 0 ) // true
console.log( false == '' ) // true
console.log( false == NaN ) // false
console.log( null == undefined ) // true
console.log( null == 0 ) // false
console.log( null == '' ) // false
console.log( null == NaN ) // false
console.log( undefined == 0) // false
console.log( undefined == '') // false
console.log( undefined == NaN) // false
console.log( 0 == '' ) // true
console.log( 0 == NaN ) // false
對於“==”,以上得出下列結論
false 除了和自身比較為true外,和0,'' 也為true
null只和undefined比較時為true, 反過來undefined也僅和null比較為true,沒有第二個
0除了和false比較為true,還有一個空字符串''
空字符串''出了和false比較為true,還有一個數字0