JavaScript高级程序设计中:
相等操作符:(比较之前会转换操作数)
转换时遵循如下规则:
-
如果有一个是布尔值,比较相等之前先将其转换为数值:false转换为0,true转换为1
-
一个是字符串,一个是数值,先将字符串转换为数值,再比较;
-
如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较(这句话的理解;
-
null == undefined;//返回true,比较相等之后不能将null和undefined转换成其他任何值;
-
NaN == NaN; //返回false, 按照规定NaN不等于NaN;