美文网首页
if()和 a==b中不同数据类型的判断

if()和 a==b中不同数据类型的判断

作者: jrg_tzc | 来源:发表于2018-03-25 21:56 被阅读0次

if()

语法

if (condition)
   statement1 
else
   statement2

if返回结果为true时执行statement1,为false时执行statement2。
所以对于()中的数据类型如果不是boolean,会将其转换成boolean类型。

数据类型 转换boolean结果
number +0,-0,NaN转换为false,其余皆为true
string 空字符串为false,其余皆为true
undefined 皆为false
null 皆为false
object 皆为true

==

非严格比较,当比较的两个数据类型不同时,对于一些非number类型进行数据转化再比较。

  • 类型为boolean,string将转化为number再进行比较。
  • 类型为object,先调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果进行比较。
  • null 与 undefined 比较返回true。
  • 其他不同类型比较返回false.
数据类型 转换number结果
boolen true->1,false->0
string “abc” -> NaN, “123” -> 123
undefined NaN
null 0

相关文章

网友评论

      本文标题:if()和 a==b中不同数据类型的判断

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