zoukankan      html  css  js  c++  java
  • Js全等和等于

    Javascript只有六个假值(用在条件if的判断)

    全等于

    类型不同,返回false
    类型相同,则

    等于

    类型相同:同上===

    类型不同:尝试类型转换==【不是真值和假值的比较】

    null == undefined
    number == string(stirng转number)
    boolean == ? (均转换为number)
    object == number | string (将对象转换为基本类型)
    其他:false
    
    

    false只有和false,0,' ',[ ]比较为真

    0只有和0,false,‘ ’,还有[ ]比较为真值

    ' ' 只有和0 , ‘ ’ ,false ,[]比较为真

    []和0,‘’,false比较为真值,与[]不是!!

    null 与undefined

    总结:

    自己画的比较丑

    一、首先看双等号前后有没有NaN,如果存在NaN,一律返回false。

    二、再看双等号前后有没有布尔,有布尔就将布尔转换为数字。(false是0,true是1)
    三、接着看双等号前后有没有字符串, 有三种情况:
    1、对方是对象,对象使用toString()或者valueOf()进行转换;
    2、对方是数字,字符串转数字;(前面已经举例)
    3、对方是字符串,直接比较;
    4、其他返回false
    四、如果是数字,对方是对象,对象取valueOf()或者toString()进行比较, 其他一律返回false
    五、null, undefined不会进行类型转换, 但它们俩相等

  • 相关阅读:
    吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 权限控制 ACL
    【机器学习】机器学习基础
    【QT】利用pyqt5实现简单界面
    【Mathtype】安装Mathtype后,word无法粘贴的问题
    【优化方法】牛顿法
    博客样式设置
    2018.8.28 练习赛
    2018.8.27 练习赛
    2018.8.26 练习赛
    2018.8.25 练习赛
  • 原文地址:https://www.cnblogs.com/jimaojin/p/7524404.html
Copyright © 2011-2022 走看看