一.首先看双等号前后有没有NaN,如果存在NaN一律返回false 二.再看双等号前后有没有布尔,有布尔就将布尔转换为数字.(false是0,true是1) 三.接着看双等号前后有没有字符串,有三种情况: 对方是对象,对象使用toString()或者valueOf()进行转换: 对方是数字,字符串转换为数字: 对方是字符串,直接比较: 其它返回false: 四.如果是数字,对方是对象,对象取valueOf()或者toString()进行比较,其它一律返回false 五.null,undefine