怪异的对象比较
- ![] 打印 返回 false
- !"" 打印 返回true
- []=="" 返回 true //数组转化字符串为 “”
- []==[] 返回false //对象跟对象比较。永远不相等
一般比较规则
1.如果只有一个值 判断值是真还是假,遵循:只有 0,NaN, "", null,undefined 这5个是假的,其余的都是真
- 两个值比较:
- 对象==对象 永远不相等
- 对象==字符串 先将对象转换为字符串(调用toString方法),然后在进行比较
- 对象==布尔类型(Boolean) 对象先转换为字符串然后再转化为数字,布尔类型转化为数字(true是1,false是0),最后比较数字
- 对象==数字 对象先转换为字符串然后再转化为数字
- 数字==布尔值 布尔值转换为数字 比较
- 数字==字符串 字符串转化为数字
- 字符串==布尔 都转换成数字
- null==undefined 结果都是true
- null或者undefined 跟其他任何数据类型比较都为false
=== 三个等于号比较(绝对比较)
- 类型不一样肯定不相等
网友评论