if语句
if语句会强制将括号内的表达式转换为布尔类型。共有以下几种类型
1. 类型:undefined 转换结果:false
2.类型:Null 转换结果:false
3.类型:Boolean 转换结果:无转换,直接判断
4.类型:Number 转换结果:+0,-0,或者NaN为false,其他为true。
5.类型:String 转换结果:空字符串为false,其他为true
6.类型:object 转换结果 true
a == b的判断
1. a为Null ,b为 undefined ,结果 true
2.a为Number ,b为String,结果:a == toNumber(b) (将字符串转换为number再进行判断)
3.a为Boolean ,b为(any) ,结果: toNumber(x) == y
4.a为Object ,b为String or Number,结果:调用toPrimitive(a) == b
5.a为其他,b为其他,结果:false
toNumber方法下的情况
1.类型:Undefined 转化为:NaN
2.类型:Null 转化为:0
3.类型:Boolean ture 转化为 1, false转化为 0
4.类型:String“abc”转化为 NaN, “123” 转化为123