确认两个变量是否相等是编程中的一个非常重要的操作。尤其是涉及到对象的比较时。为此,JS 提供了两组操作符。
1、相等和不相等。(== 与 !=)
这两个操作符会在比较之前对操作数进行强制转型,再比较它们的相等性。例:
undefined == null //true
0 == '0' //true (如果一个操作数是数值,另一个操作数是字符串,则先将字符串转换为 数值)
false == 0 //true (boolean 类型操作数比较前会被转换为数值, false 转为 0,true 转为 1)
true == 1 //true
true == '1' //true
NaN != NaN //true (如果有一个操作数是 NaN,则相等操作符返回 false,而不相等操作符返回 true。
重要提示:即使两个操作数都是 NaN,相等操作符也返回false;因为按照规则,NaN 不等于NaN。)
'NaN' != NaN //true
5 != NaN //true