zoukankan      html  css  js  c++  java
  • js—双等号引起的类型转换过程

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

    二、再看双等号前后有没有布尔,有布尔就将布尔转换为数字。(false是0,true是1)

    三、接着看双等号前后有没有字符串,有三种情况:

    1. 对方是对象,对象使用toString()或者valueOf()进行转换;
    2. 对方是数字,字符串转换为数字;
    3. 对方是字符串,直接比较;
    4. 其它返回false;

    四、如果是数字,对方是对象,对象取valueOf()或者toString()进行比较,其它一律返回false

    五、null,undefined不会进行转换,但它们俩相等

    练习题:

    1 console.log([0] == true);         //false
    2 console.log(0 == false);           //true
    3 console.log(undefined == null);     //true
    4 console.log('0' == undefinded);      //false
  • 相关阅读:
    建议自学
    大牛之术
    学习榜样
    .net源码
    练习题
    学习-如何克服拖延
    如何解决困难问题
    最近阅读
    如何学习一门新语言
    安全问题关注博客
  • 原文地址:https://www.cnblogs.com/happy1992/p/7140617.html
Copyright © 2011-2022 走看看