数据类型之间的比较规则:
- {} == {} :两个对象进行比较,比较的是堆内存的地址
- null == undefined => true;
null===undefined => false - NaN == NaN => false : NaN和谁都不相等
- 对象和字符串进行比较,是把对象toString()转换为字符串后再比较
- 剩余的所有数据类型不一样的情况:都是先转换为数字
(1)对象转数字:先转换为字符串,再转换为数字
(2)字符串转换为数字:只要出现非数字字符,结果就是NaN
(3)布尔转数字:true=>1 false=>0
(4)null转数字:0
(5)undefined转数字:NaN
总结:
例子: