===
运算符判断相等的流程是怎样的
类型不同,不等
null,undefined,boolean,number
这四个类型的只要值(数值)相等,就相等,-0 === 0 //true
只要其中有一个为
NAN
,则不等string类型,长度/内容/编码不同,都是不等,相同位置包含相同的16位,相等
指向相同的对象,数组,函数,则相等,若指向不同对象,不等
==
运算符判断相等的流程是怎样的
若类型不同,则按
===
规则判断-
类型不同,则启用隐式类型转换
有
NAN
,一律返回false
有布尔类型,布尔类型转换成数字比较
有string类型,两种情况: 1. 对象,对象用
toString
方法转换成string相比。2.数字,string类型转换成数字进行比较null和undefined不会相互转换,相等
有数字类型,和对象相比,对象用
valueof
转换成原始值进行比较其他情况,一律返回
false
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。