if語句
if語句會強制將括號內(nèi)的表達式轉(zhuǎn)換為布爾類型。共有以下幾種類型
1. 類型:undefined? ?轉(zhuǎn)換結(jié)果:false
2.類型:Null? 轉(zhuǎn)換結(jié)果:false
3.類型:Boolean? ?轉(zhuǎn)換結(jié)果:無轉(zhuǎn)換徐裸,直接判斷
4.類型:Number? ?轉(zhuǎn)換結(jié)果:+0础浮,-0拴念,或者NaN為false宠漩,其他為true蚂踊。
5.類型:String? ?轉(zhuǎn)換結(jié)果:空字符串為false,其他為true
6.類型:object? ? 轉(zhuǎn)換結(jié)果? true
a == b的判斷
1. a為Null 磨澡,b為 undefined 碗啄,結(jié)果? true
2.a為Number ,b為String稳摄,結(jié)果:a == toNumber(b)? (將字符串轉(zhuǎn)換為number再進行判斷)
3.a為Boolean 稚字,b為(any) ,結(jié)果:? toNumber(x) == y
4.a為Object ,b為String or Number胆描,結(jié)果:調(diào)用toPrimitive(a) == b
5.a為其他瘫想,b為其他,結(jié)果:false
toNumber方法下的情況
1.類型:Undefined? ? ? ?轉(zhuǎn)化為:NaN
2.類型:Null? 轉(zhuǎn)化為:0
3.類型:Boolean? ?ture 轉(zhuǎn)化為 1, false轉(zhuǎn)化為 0
4.類型:String“abc”轉(zhuǎn)化為 NaN, “123” 轉(zhuǎn)化為123