==
1.string,number,boolean 转成 number 比较
引用类型与基本类型比较
首先会调用对象的 valueOf()方法,期待返回一个基本类型的值 (测试为若返回 Boolean、Number、String、null、undefined 或没有返回值,则将不会继续调用 toString 方法),若返回的仍然是一个复合对象的话,则调用其 toString() 方法,若仍然没有返回上述基本类型的话,则直接判为不相等。
>,<
1. 有一个为 number => number2. 有一个操作数是布尔值 => number
有引用类型
调用该对象的 valueOf 方法,用返回的结果用前面的规则比较,若没有 valueOf 方法,则调用 toString 方法
valueOf, toString
1. 对象 =>Sting, 优先调用 toString 2. 对象 =>number, 优先调用 valueOfvalueOf 优先级 >toString