1、关系操作符
规则:若两个操作数是数值,则执行数值比较;
若两个操作数都是字符串,则比较对应的字符编码值;
如果一个操作数是数值,则将另一个转换为数值,再执行数值比较;
若一个操作数是对象,则调用这个对象的valueOf()方法,再按照前面的规则进行比较。
若一个操作数是布尔值,则先将其转换为数值,再执行比较。
2、相等操作符
(1)相等和不相等(==/!=) ——先转换再比较
null和undefined是相等的;
要比较相等性之前,不能将null和undefined转换成其他任何值;
若一个操作数是NaN,则相等操作符返回false,而不相等操作符返回true。即使两个操作数都是NaN,相等操作符照样返回false;
若两个操作数都是对象,则比较他们是不是同一个对象。
(2)全等和不全等(===/!==)——仅比较不转换
null == undefined 返回true;
null === undefined 返回false;