美文网首页
if()与==之间的区别

if()与==之间的区别

作者: Monica_e1ca | 来源:发表于2018-06-03 20:56 被阅读0次

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

相关文章

网友评论

      本文标题:if()与==之间的区别

      本文链接:https://www.haomeiwen.com/subject/jeaksftx.html