欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS在if中的強(qiáng)制類型轉(zhuǎn)換方式

 更新時(shí)間:2018年07月15日 17:07:38   作者:格子熊  
大家都知道JS在很多情況下會(huì)進(jìn)行強(qiáng)制類型轉(zhuǎn)換,最常見(jiàn)的方式有兩種,在文章均給大家提到,下面小編給大家?guī)?lái)了JS在if中的強(qiáng)制類型轉(zhuǎn)換,感興趣的朋友一起看看吧

眾所周知,JS在很多情況下會(huì)進(jìn)行強(qiáng)制類型轉(zhuǎn)換,其中,最常見(jiàn)兩種是:

1.使用非嚴(yán)格相等進(jìn)行比較,對(duì)==左邊的值進(jìn)行類型轉(zhuǎn)換

2.在if判斷時(shí),括號(hào)內(nèi)的值進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)化為布爾值

今天,我就來(lái)聊一聊JS在if中的強(qiáng)制類型轉(zhuǎn)換。

其實(shí),如果詳細(xì)要討論哪些值在if中強(qiáng)制轉(zhuǎn)換為true,哪些值在if中強(qiáng)制轉(zhuǎn)換為false,這很困難,因?yàn)椋闆r太多了。但是,我們可以輕松記住強(qiáng)制類型轉(zhuǎn)換結(jié)果,為什么?因?yàn)?,大多?shù)情況下,都是轉(zhuǎn)換為true,只有四種情況會(huì)轉(zhuǎn)換為false。此時(shí),我們只需要記住轉(zhuǎn)換為false的那四種情況就可以了。

強(qiáng)制轉(zhuǎn)換為false的四種情況

在if中進(jìn)行強(qiáng)制轉(zhuǎn)換為false的情況只有四種,分別是:

1.數(shù)字0

2.NaN

3.空字符串

4.null或undefined

很多人會(huì)問(wèn),為什么null和undefined會(huì)在一起?因?yàn)?,在非?yán)格相等的情況下,null和undefined是相等的。

null == undefined    // true
// 兩種寫法相等
a == null
a === null || a === undefined

如何判斷引用數(shù)組和對(duì)象是否為空

很多時(shí)候,我們會(huì)碰上這種情況,即在if中判斷數(shù)組或?qū)ο笫欠駷榭?。如果直接判斷的話,依?jù)之前的理論,不管是不是空數(shù)組或?qū)ο笞詈蠖际莟rue,因?yàn)閿?shù)組或?qū)ο髸?huì)強(qiáng)制轉(zhuǎn)換為true。

判斷數(shù)組是否為空很簡(jiǎn)單,只需要訪問(wèn)它的length屬性即可。那對(duì)象該怎么辦?

這里可以使用Object.keys方法對(duì)對(duì)象屬性進(jìn)行遍歷,該方法返回一個(gè)包含對(duì)象屬性的數(shù)組,如果數(shù)組長(zhǎng)度為0,即代表為空。當(dāng)然,這種情況并不完全嚴(yán)謹(jǐn),因?yàn)?,?duì)象可能存在不可枚舉屬性。

var arr = []
arr.length = 0
var obj = {}
Object.keys(obj).length = 0

總結(jié)

以上所述是小編給大家介紹的JS在if中的強(qiáng)制類型轉(zhuǎn)換,希望對(duì)大家有所幫助,如果對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的

相關(guān)文章

最新評(píng)論