js全等的判断

result display

js相等的判断

result display

summery==运算的规则:

undefined == null,结果是true。且它俩与所有其他值比较的结果都是false。
String == Boolean,需要两个操作数同时转为Number。
String/Boolean == Number,需要String/Boolean转为Number。
Object == Primitive,需要Object转为Primitive(具体通过valueOf和toString方法)。

==compare

"0" ==  null;
"0" ==  undefined;
"0" ==  false;  //true
"0" ==  NaN;
"0" ==  0;  //true
"0" ==  "";
false == null;
false == undefined;
false == NaN;
false == 0;   //true
false == "";  //true
false == [ ]; //true
false == { };
"" == null;
"" == undefined;
"" == NaN;
"" == 0;   // true
"" == [ ]; //true
"" == { };
0 == null;
0 == undefined;
0 == NaN;
0 == [ ];  //true
0 == { };

观察上面可以知,从 false0""[ ] 4个值中任选两个都是相等的。 等号比较时,false和true分别可以转化为0、1

更多-more