美文网首页
if 判断和 == 判断

if 判断和 == 判断

作者: 饥人谷_LS | 来源:发表于2018-06-06 22:57 被阅读0次

if(xx) 判断

什么是 if(xx) 判断?

所谓的 if(xx) 判断,即是对括号中的 xx 或者说表达式通过布尔值判断结果。当然也有不是布尔值的时候,这时就会将表达式强制转换为布尔值之后进行判断。

原理

类型 结果
Undefined false
Null false
Boolean 直接判断
Number +0,-0或者 NaN 为 false,其他为 true
String 空字符串为 false,其他为 true
Object true

a==b 判断

a==b 判断的两个规则

  • 如果两个值类型相同,则执行严格相等的运算;
  • 如果两个值类型不同:
    (1)如果一个是 null,一个是 undefined,则二者相等;
    (2)如果一个是数字,一个是字符串,则将字符串转换成数字后再比较;
    (3)如果一个值是 true/false,则将其转换为1/0比较;
    (4)如果一个值是对象,一个是数字或字符串,则尝试使用 .valueOf 和 .toString 转换后比较;
    (5)其他的就都不相等了。

原理

x y 结果
Null Undefined true
Number String x == toNumber(y)
Boolean (any) toNumber(x) == y
Object String or Number toPrimitive(x) == y
otherwise otherwise false

toNumber

type result
Undefined NaN
Null 0
Boolean true -> 1,false -> 0
String "abc" -> NaN,"123" -> 123

toPrimitive

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

相关文章

  • if判断、==判断和===判断

    <1>if判断语句 1.if判断的介绍 if语句是用来进行判断的,其使用格式如下: 对于括号内的判断条件,会被强制...

  • if 判断和 == 判断

    if(xx) 判断 什么是 if(xx) 判断? 所谓的 if(xx) 判断,即是对括号中的 xx 或者说表达式通...

  • 学逻辑,练幽默课后第二次作业文章回答第4个问题

    4.判断有哪些分类?请举例说明 分类有:简单判断、复合判断,简单判断又分性质判断和关系判断,复合判断分联言判断、选...

  • if判断和==判断解秘

    1.if判断 在js中,if括号里的表达式,会被强制转换为布尔类型 那么,什么情况下表达式会被判断为真,什么情况下...

  • 类型判断和JSON判断

    类型判断 JSON判断

  • 事实判断和价值判断

    所谓事实判断,就是所做的判断在描述一个事实,有一个客观标准。价值判断隐含者一种价值高低的取向,价值判断要分辨好坏对...

  • 逻辑学思想

    综合判断大致分为,简单判断和复杂判断,简单又分为直言判断,模态判断,关系判断。复杂又分为联言,选言,假言,负...

  • 真理的认识

    对于世界有两种判断:事实性判断和价值性判断。 1.1 事实性判断就是对于事实的判断 1.1.1 事实判断的种类:外...

  • 分析判断和综合判断

    所有知识都会以某种判断的形式出现,比如A是B。主词和谓词在两边,中间用一个判断词做连接。 没有判断就没有知识,纯粹...

  • 饿了吗大前端阅读(一)

    类型判断 我记得的类型判断函数就是 typeOf:判断基本类型和Object instanceof:判断是否是指定...

网友评论

      本文标题:if 判断和 == 判断

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