js—双等号引起的类型转换过程

2021-06-29 18:06

阅读:558

标签:valueof   使用   字符串   情况   log   比较   false   string   eof   

一、首先看双等号前后有没有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

 

js—双等号引起的类型转换过程

标签:valueof   使用   字符串   情况   log   比较   false   string   eof   

原文地址:http://www.cnblogs.com/happy1992/p/7140617.html


评论


亲,登录后才可以留言!