對(duì)于使用JS,經(jīng)常會(huì)遇到使用if或者==等判斷語句,來了解一下對(duì)于兩種條件的基本轉(zhuǎn)換
if(xx)
括號(hào)里的表達(dá)式會(huì)被強(qiáng)制轉(zhuǎn)換成布爾類型進(jìn)行判斷
其余轉(zhuǎn)換規(guī)則如下:
-
Undefined轉(zhuǎn)換為false -
Null轉(zhuǎn)換為false -
Boolean直接判斷 -
Number:+0,-0,NaN會(huì)被轉(zhuǎn)換為false,其他會(huì)被轉(zhuǎn)換為true -
String:空字符串為false,其他為true -
Object:轉(zhuǎn)換為true
在進(jìn)行
&&``||判斷的時(shí)候,同樣null、NaN、undefined、“”、0、-0、false;這七個(gè)是flase
a==b
== 不是嚴(yán)格相等,所以在使用 == 的時(shí)候會(huì)在一定程度上改變?cè)档念愋停?/p>
-
Undefined=Null - a和b中有數(shù)字類型或者布爾類型,都轉(zhuǎn)換為數(shù)字進(jìn)行判斷比較
- 如果一個(gè)為對(duì)象,一個(gè)為字符串或者數(shù)字,把對(duì)象轉(zhuǎn)換為數(shù)字進(jìn)行比較判斷
-
Undefined轉(zhuǎn)換為NaN -
Null轉(zhuǎn)換為0 - 布爾類型:
true轉(zhuǎn)換為1,false轉(zhuǎn)換為0 - 字符串:非數(shù)字字符串轉(zhuǎn)為
NaN,數(shù)字字符串轉(zhuǎn)為數(shù)字值 - 對(duì)于
object對(duì)象,先調(diào)用.valueof,沒有再調(diào)用.tostring