首选判断两者的类型是否相同,如果不相同会进行类型转换,相同的话就比较大小
转换类型
1.字符串和数字之间的相等比较,将字符串转换为数字之后再进行比较大小
1 == '1' --> 1 == 1 -->true
2.其他类型和布尔类型之间的相等比较,先将布尔值转换为数字后,在应用其他规则进行比较
true == '1' -->1 == '1'-->1 == 1-->true
3.null和undefined之间相比较,结果为真,其他值和它们进行比较都返回假值
4.对象和非对象之间的相等比较,将会对象先转为基本数据类型再进行判断
'1' == {} -->'1' == '[object object]'
5. 如果两个操作值都是对象,则比较它们是不是指向同一个对象,如果两哥操作数都指向同一个对象,则相等操作符返回true,否则返回false
var a = {};
var b = a;
var c={};
console.log(a==b);//true
console.log(a==c);//false