首頁 >web前端 >js教程 >JavaScript中奇葩的假值範例應用_javascript技巧

JavaScript中奇葩的假值範例應用_javascript技巧

WBOY
WBOY原創
2016-05-16 16:55:43972瀏覽

通常在以下語句結構中需要判斷真假

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( 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
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn