1.==相等运算符
1.1如果操作数具有相同的类型,则判断其等同性,如果两个数的值相等,则返回true(相等),否则返回 false (不相等)
1.2如果两个操作数类型不同,则按如下规则:
null与undefined相等其中一个是数字,另一个是字符串,则将
字符串转为数字,在做比较
其中一个是true,先转化成1(false则转化为0) 在做比较如果一个值是对象,另一个是数字或字符串,则将
对象转化为原始值(通过toString()或valueOf()方法)其他情况则直接返回false
2.===等同运算符
2.1如果操作数类型不同,则不进行值得判断,直接返回false
2.2如果操作数类型相同则按如下规则:
都是数字时,如果值相同则两者等同(例外:
NaN与其本身不相等),否则不等同都是字符串,如果串的值相等则等同,否则不等同都是布尔值,且其值均为true/false,则等同,否则不等同如果两个操作数引用同一对象,则两者完全等同,否则不等同如果两个操作数均为null/undefined 则等同,否则不等同
转载于:https://www.cnblogs.com/duduSunny/p/4129070.html