判断

作者: 真的吗_a951 | 来源:发表于2018-06-21 15:44 被阅读0次

一、if判断

if(条件){语句}
判断条件会强制转换成布尔类型

类型 结果
undefined false
null false
Boolean 直接判断
number +0,-0或者 NaN位false,其余为true
string 空字符串为false,其余为true
object true

○ 注意:

  • 空白字符串" "也为true,
  • []空的数组也是对象,因此是true

二、 ==的判断

x==y

x y 结果
null undefined true
Number String x==toNumber(y)
Boolean (any) toNumber(x)==y
Object String or Number to Primitive(x)==y
otherwise otherwise false

==先往数字上转换,然后再判断
toNumber

type Result
Undefined NaN
Null 0
Boolean ture=>1,false=>0
String "abc"=>NaN,"123"=>123

toPrimitive
对于Object类型,先尝试调用.valueOf方法获取结果,如果没定义,再尝试调用.toString方法获取结果

○ 注意:

  • " " 转数字是0,
  • " " 转布尔是true,
  • !'' ''!先转换成布尔类型,再转数字
    ● ● ●

相关文章

网友评论

      本文标题:判断

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