总的来说:
==判断相等,===判断严格相等/全等
==只判断数据的值是否相等,===先判断数据的类型是否相同,再判断数据的值是否相等
- ==判断规则:
两个基本数据类型比较:如果两个基本数据类型不同,会先把它们转换成数值类型,再进行比较
基本数据类型和引用数据类型比较:先把对象转换成原始值,再按照以上规则进行比较
两个引用类型比较:判断两者的引用地址是否相同
NaN不等于任何操作数,甚至不等于它自身
特殊情况:1
2
3
4null == undefined//true
NaN != NaN//true
undefined == 0//false
null == 0//false
- ===判断规则:
先判断两者类型,只要类型不一致,直接返回false,
类型相同的前提下,再判断值是否相等
尽量使用===,因为==不严谨