JavaScript中奇葩的假值示例應(yīng)用
更新時(shí)間:2014年03月11日 16:32:18 作者:
這篇文章主要介紹了JavaScript中奇葩的假值應(yīng)用,需要的朋友可以參考下
通常在以下語(yǔ)句結(jié)構(gòu)中需要判斷真假
if分支語(yǔ)句
while循環(huán)語(yǔ)句
for里的第二個(gè)語(yǔ)句
如
if (boo) {
// do something
}
while (boo) {
// do something
}
JavaScript中有6個(gè)值為“假”,這六個(gè)值是
false
null
undefined
0
'' (空字符串)
NaN
這里面false本身是布爾類(lèi)型,其它5個(gè)則不是。
除了這6個(gè)外,其它均為“真” ,包括對(duì)象、數(shù)組、正則、函數(shù)等。注意 '0'、'null'、'false'、{}、[]也都是真值 。
雖然這六個(gè)值都為“假”,它們之間并非都相等
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
對(duì)于“==”,以上得出下列結(jié)論
false 除了和自身比較為true外,和0,'' 也為true
null只和undefined比較時(shí)為true, 反過(guò)來(lái)undefined也僅和null比較為true,沒(méi)有第二個(gè)
0除了和false比較為true,還有一個(gè)空字符串 ''
空字符串''出了和false比較為true,還有一個(gè)數(shù)字0
if分支語(yǔ)句
while循環(huán)語(yǔ)句
for里的第二個(gè)語(yǔ)句
如
復(fù)制代碼 代碼如下:
if (boo) {
// do something
}
while (boo) {
// do something
}
JavaScript中有6個(gè)值為“假”,這六個(gè)值是
false
null
undefined
0
'' (空字符串)
NaN
這里面false本身是布爾類(lèi)型,其它5個(gè)則不是。
除了這6個(gè)外,其它均為“真” ,包括對(duì)象、數(shù)組、正則、函數(shù)等。注意 '0'、'null'、'false'、{}、[]也都是真值 。
雖然這六個(gè)值都為“假”,它們之間并非都相等
復(fù)制代碼 代碼如下:
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
對(duì)于“==”,以上得出下列結(jié)論
false 除了和自身比較為true外,和0,'' 也為true
null只和undefined比較時(shí)為true, 反過(guò)來(lái)undefined也僅和null比較為true,沒(méi)有第二個(gè)
0除了和false比較為true,還有一個(gè)空字符串 ''
空字符串''出了和false比較為true,還有一個(gè)數(shù)字0
相關(guān)文章
實(shí)例學(xué)習(xí)JavaScript讀取和寫(xiě)入cookie
本篇內(nèi)容主要給大家通過(guò)實(shí)例講述了JavaScript讀取和寫(xiě)入cookie的相關(guān)知識(shí)點(diǎn),有這方面需要的朋友參考下吧。2018-01-01

javascript設(shè)置和獲取cookie的方法實(shí)例詳解
這篇文章主要介紹了javascript設(shè)置和獲取cookie的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析總結(jié)了JavaScript操作cookie簡(jiǎn)單實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)與讀取的相關(guān)技巧,需要的朋友可以參考下
2016-01-01 
微信小程序?qū)崿F(xiàn)簡(jiǎn)單購(gòu)物車(chē)功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)單購(gòu)物車(chē)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
2020-12-12 
JS對(duì)大量數(shù)據(jù)進(jìn)行多重過(guò)濾的方法
今天在工作中遇到一個(gè)問(wèn)題,當(dāng)前端通過(guò)Ajax從后端取得了大量的數(shù)據(jù),需要根據(jù)一些條件過(guò)濾,但是發(fā)現(xiàn)寫(xiě)的過(guò)濾方法有問(wèn)題,后來(lái)仔細(xì)的查找問(wèn)題,通過(guò)網(wǎng)上的資料終于解決了這個(gè)問(wèn)題,現(xiàn)在將解決的過(guò)程以及解決方法分享給大家,有需要的朋友們可以參考借鑒。
2016-11-11 
Egg Vue SSR 服務(wù)端渲染數(shù)據(jù)請(qǐng)求與asyncData
這篇文章主要介紹了Egg Vue SSR 服務(wù)端渲染數(shù)據(jù)請(qǐng)求與asyncData,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
2019-11-11 
如何判斷Javascript對(duì)象是否存在的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇如何判斷Javascript對(duì)象是否存在的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
2016-05-05