双等(==)的判断规则

官方文档:https://www.ecma-international.org/ecma-262/5.1/#sec-11.9.3

== 判断是按一下步骤执行的:

1. 如果是NaN和NaN,返回false

2. 如果类型相同,判断内容是否相同

3. 如果是undefined和null,返回true

4. 如果其中一方是undefined或null,返回false

5. 如果是String和Number,String转Number,然后重新到第1步执行

6. 如果其中一方是Boolean,Boolean转Number,然后重新到第1步执行

7. 如果其中一方是对象类型,对象类型转基本类型,然后重新到第1步执行

 

就是除了 null undefined NaN ,其他的都可以粗暴地看成转成数字类型做对比就可以了~

posted @ 2019-08-16 09:10  张啊咩  阅读(339)  评论(0编辑  收藏  举报