這篇文章主要介紹了JavaScript中奇葩的假值應用,需要的朋友可以參考下
通常在以下語句結構中需要判斷真假 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