Js
== 与 ===
两个等号==
较宽松的比较
null == undefined; // => true
1 == '1'; // => true
true == 0; // => false
false == 1; // => false
true == 1; // => true
false == 0; // => true
true == '1'; // => true
false == '0';// => true
var d = 1;
d == NaN // => false
NaN == NaN // => false
//只要一边是NaN,则都为false
var a = [1,2,3];
var b = [1,2,3];
var c = { x: 1, y: 2 };
var d = { x: 1, y: 2 };
var dd = d;
var e = "text";
var f = "te" + "xt";
a == b // =>false
c == d // =>false
dd == d // =>true
e == f // =>true
三个等号===
较严格的比较
true === '1'; // => false
null === null; // => true
undefined === undefined; // => true
null === undefined; // =>false
true === true; // =>true
false === false; // =>true
true === 1; // =>false
true === '1'; // =>false
false === 0; // =>false
false === '0'; // =>false
参考: