if對(duì)于括號(hào)內(nèi)true/false的判斷
- 對(duì)于數(shù)字來說,0、0.0、-0.0會(huì)被判為false,其余非零數(shù)字都會(huì)判為true
- 對(duì)于布爾類型直接判斷即可
- 對(duì)于字符串來說,空字符串會(huì)被判為false,非空字符串會(huì)被判為true,空格為非空字符串
- 對(duì)象都會(huì)判為true
- null、undefined都會(huì)被判為false
a == b返回值的判斷
主要思想將a,b都轉(zhuǎn)換成數(shù)字
對(duì)于布爾變量存在如下等價(jià)關(guān)系:
0 == false //返回true
1 == true //返回true
2 == true ///返回false
對(duì)于字符串,能轉(zhuǎn)換成數(shù)字的就轉(zhuǎn)換成數(shù)字,包含字母就不能轉(zhuǎn)換成數(shù)字了
對(duì)于undefined null只有這兩個(gè)彼此之間 == 時(shí)才返回true,否則和任何其他類型的任何值都不會(huì)返回true
對(duì)于對(duì)象,先嘗試調(diào)用 .valueOf 方法獲取結(jié)果。 如果沒定義,再嘗試調(diào)用 .toString方法獲取結(jié)果