JS中全等和相等操作符的区别和比较规则
一、两者的区别
- 相等:先强制转换变量类型,再比较
- 全等:不转换类型,一旦类型不同,就是不全等。
二、相等和不相等的比较规则
1.操作符中有布尔值时:
比较前先将之转换为数值
false => 0 , true =>1
2.字符串,另一个是数值:
字符串去将就数值
3.对象:
object.valueOf()方法,用得到的基本类型值按照前面的规则进行比较
4.操作符
4.1 none == undefined:相等
4.2 NaN ==其他(不管是别人还是自己):false(不等号操作,反之)
4.3 对象 == 对象 :指向同一个对象时才true
出于严谨考虑,推荐‘===’操作符