= 是赋值操作,
a = 10
== 先转换类型再比较
var a = 10;
console.log(a == 8); //false
console.log(a == 10); //true
console.log(a == '10'); //true '10'先转换成number再比较
console.log(true == '1'); //true 都转换为number
console.log(null == 0); //false
/**
* undefined 衍生自null
* 所以这两个值做相等判断时,会返回true
*/
console.log(undefined == null); //true
/**
* NaN不和任何值相等,包括它本身
*/
console.log(NaN == NaN); //false
/**
* 可以通过isNaN()函数来判断一个值是否是NaN
* 如果该值是NaN则返回true,否则返回false
*/
var b = NaN;
console.log(isNaN(b));
=== 用来判断两个值是否类似,和相等类似。不过它不会自动做类型转换,如果两个值的类型不同,直接返回false。
console.log(1 === '1'); // false