關(guān)于if(xx)和 a==b的判斷

一. if(xx)的判斷
JavaScript 遇到預期為布爾值的地方(比如if語句的條件部分),就會將非布爾值的參數(shù)自動轉(zhuǎn)換為布爾值秸谢。系統(tǒng)內(nèi)部會自動調(diào)用Boolean函數(shù)。
當if括號里面的表達式為Boolean時,直接判斷
if (true){
console.log("true"); //true
}
if (false){
console.log("true"); //false
}
當if括號里面的表達式為Number時话肖,分兩種情況疲酌,當number為+0蜡峰,-0,NaN的時候朗恳,為false;其他為true湿颅。
if(0){
console.log("true"); //false
}
if(NaN){
console.log("true"); //false
}
if(1){
console.log("true"); //true
}
3.當if括號里面的表達式為String時,空字符串為false粥诫,其他為true油航;

if(""){
console.log("true"); //false
}
if("abc"){
console.log("true"); //true
}
4.當if括號里面的表達式為Undefined時,為false;

if(Undefined){
console.log("true"); //false
}
5.當if括號里面的表達式為null時,為false怀浆;

if(null){
console.log("true"); //false
}

二. a==b的判斷
==是比較兩個值是否相等谊囚,相同類型直接比較,不同類型的話执赡,看情況轉(zhuǎn)換镰踏。
String==Number --->toNumber(String)==Number
"" = 0 ; //true,因為“”轉(zhuǎn)換為0
" " = 0 ; //true
"hello" == 1 //false 沙合,因為"hello"轉(zhuǎn)換為NaN
"hello" == 0 //false余境,同理
Boolean==(any) --->toNumber(Boolean)==(any)
1==true; //true,因為true轉(zhuǎn)換為1
0==false;//true ,因為false轉(zhuǎn)換為0
"0" == true //false
"0" == false //true
"00" == false //true
"0.00" == false //true
Object==String/Number---->toPrimitive(Object)
對于 Object 類型,先嘗試調(diào)用 .valueOf 方法獲取結(jié)果芳来。 如果沒定義含末,再嘗試調(diào)用 .toString方法獲取結(jié)

{} == true // false
[] == true //false
var obj = {
a: 0,
valueOf: function(){return 1}
}
obj == "[object Object]" //false
obj == 1 //true
obj == true //true
null==undefined,//true
==知識點
如果兩個值類型相同即舌,則執(zhí)行嚴格相等的運算
如果兩個值的類型不同
如果一個是null佣盒,一個是undefined,那么相等
如果一個是數(shù)字顽聂,一個是字符串肥惭,先將字符串轉(zhuǎn)為數(shù)字,然后比較
如果一個值是true/false則將其轉(zhuǎn)為1/0比較
如果一個值是對象紊搪,一個是數(shù)字或字符串蜜葱,則嘗試使用valueOf和toString轉(zhuǎn)換后比較
其它就不相等了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市耀石,隨后出現(xiàn)的幾起案子牵囤,更是在濱河造成了極大的恐慌,老刑警劉巖滞伟,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揭鳞,死亡現(xiàn)場離奇詭異,居然都是意外死亡梆奈,警方通過查閱死者的電腦和手機野崇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亩钟,“玉大人乓梨,你說我怎么就攤上這事∏逅郑” “怎么了督禽?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長总处。 經(jīng)常有香客問我,道長睛蛛,這世上最難降的妖魔是什么鹦马? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮忆肾,結(jié)果婚禮上荸频,老公的妹妹穿的比我還像新娘。我一直安慰自己客冈,他們只是感情好旭从,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般和悦。 火紅的嫁衣襯著肌膚如雪退疫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天鸽素,我揣著相機與錄音褒繁,去河邊找鬼。 笑死馍忽,一個胖子當著我的面吹牛棒坏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遭笋,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坝冕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓦呼?” 一聲冷哼從身側(cè)響起喂窟,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吵血,沒想到半個月后谎替,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蹋辅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年钱贯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侦另。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡秩命,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出褒傅,到底是詐尸還是另有隱情弃锐,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布殿托,位于F島的核電站霹菊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏支竹。R本人自食惡果不足惜旋廷,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望礼搁。 院中可真熱鬧饶碘,春花似錦、人聲如沸馒吴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豪治,卻和暖如春洞拨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鬼吵。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工扣甲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人齿椅。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓琉挖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涣脚。 傳聞我的和親對象是個殘疾皇子示辈,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容