if(xx)和 a==b的判斷

# if(xx)

| 類型? ?|? 判斷? ?|

|---------|----------|

|undefined|false|

|null|false|

|number|+0 -0 NaN為false,其余為true|

|boolean| 對(duì)應(yīng)的false,true|

|string|空字符串為false 其余為true|

|object|ture|


# a==b的判斷

????相等運(yùn)算符用來比較相同類型的數(shù)據(jù)時(shí),與嚴(yán)格相等運(yùn)算符完全一樣。比較不同類型的數(shù)據(jù)時(shí),相等運(yùn)算符會(huì)先將數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換,然后再用嚴(yán)格相等運(yùn)算符比較。


##?原始類型的數(shù)據(jù)會(huì)轉(zhuǎn)換成數(shù)值類型再進(jìn)行比較? ??

比如"1" == 1 字符串"1"會(huì)被轉(zhuǎn)換成數(shù)值1? 所有這個(gè)為true

比如"" == false? ? ? 0 == false? ? 所以"" == 0? 就成為了true 也可以認(rèn)為 ""? 被轉(zhuǎn)換為了0


##??對(duì)象(這里指廣義的對(duì)象,包括數(shù)組和函數(shù))與原始類型的值比較時(shí),對(duì)象轉(zhuǎn)化成原始類型的值,再進(jìn)行比較。

? ? 比如[2]會(huì)被轉(zhuǎn)換為2所以 [2] == 2 為true

##?undefined和null與其他類型的值比較時(shí),結(jié)果都為false,它們互相比較時(shí)結(jié)果為true。


一般來說==這個(gè)比較會(huì)帶來一些錯(cuò)覺,最好是用===這樣的絕對(duì)比較可以比較準(zhǔn)確的來進(jìn)行比較。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,559評(píng)論 0 13
  • if條件判斷 if...else 條件判斷的語法如下:if (條件){當(dāng)條件為 true 時(shí)執(zhí)行的代碼}else{...
    Zouch在路上閱讀 518評(píng)論 0 0
  • if(xx) if后的括號(hào)里的表達(dá)式會(huì)被強(qiáng)制轉(zhuǎn)換為布爾類型 number a = 1if(a){console.l...
    無人問津的呢喃閱讀 1,223評(píng)論 0 0
  • if語句 javascript的if語句寫法為 編寫代碼時(shí)應(yīng)該將condition寫為""===""形式,避免在閱...
    Shinooo閱讀 466評(píng)論 0 0
  • IOS產(chǎn)品開發(fā)中常常會(huì)遇到這種情況,線上發(fā)現(xiàn)一個(gè)嚴(yán)重bug,可能是一個(gè)crash,可能是一個(gè)功能無法使用,這時(shí)能做...
    Leopx閱讀 332評(píng)論 0 0

友情鏈接更多精彩內(nèi)容