为什么null == undefined为true,null === undefined false NaN == NaN false undefined == 0 false null == 0 false


盲猜:

  首先为什么null==undefined 因为是双等好就是操作数的对比,他们两的内存空间都没有操作数所以相等,由于内存空间的地址不同所以他们===是false,

  NaN == NaN false 是因为表示这个不是一个数字,既然表示不是一个数字所以这个情况无数种,所以就是false

  null>=0 为true这个就是因为在js的源码中把关系的>< 这两个符号有类型转换把null转成了0所以<=0也是true,但是在==没有类型转换所以是false

  undefined>=0还是false是由于null的typeof是一个object本质是对象,但是undefined还是undefined所以没有发生变化。

  

  let result1 = ("55" == 55); // true,转换后相等
  let result2 = ("55" === 55); // false,不相等,因为数据类型不同
 
  这个说明js没有根据类型来判断是不是只是根据 这个的操作数的具体价值,还是内存与不内存的关系


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM