undefined 和 null 用 == 比较是相等的,我们可以有两种方法来进行区分。
区别方法一: 因为他们的类型时不同的,=== 会先比较类型,再比较值,所有可以直接用 === 来进行区分。
null 的类型是 object,undefined 的类型是 undefined。
区别方法二: 以区别 null 为例,!key && typeof(key)!=undefined 过滤完之后只剩 null 和 0 了,再用一个 key!=0 就可以把 0 过滤掉了。
== 的讲解: == 是先把左右两边转化为相同的类型,再进行区分。 true 转化为整数后是 1,false 转化为整数后是 0。