==
比较两个值是否相等。
相等返回true,否则返回false。
<script>
console.log(1==1);
console.log(1=='1');
console.log(1=='2');
console.log(0==null);
console.log("ab"=="a");
console.log("0"==true);
</script>
基本上是将其他类型转换成数值。
当然也有一些不是,比如前面第三个null并不是转成number,否则就是true。
此外,Undefined衍生自null,所以当两者进行相等运算时,返回true。
NaN不和任何值相等,包括NaN。
<script>
console.log(null==undefined);
console.log(NaN=='1');
console.log(NaN==NaN);
</script>
那如何判断一个数据是否为NaN呢?
用isNaN函数。
isNaN()
<script>
console.log(null==undefined);
console.log(NaN=='1');
console.log(NaN==NaN);
console.log(isNaN(NaN));
</script>
!=
不相等运算。
<script>
console.log(1!=1);
console.log(1!='1');
console.log(1!='2');
console.log(0!=null);
console.log("ab"!="a");
console.log("0"!=true);
</script>
===
判断两个值是否全等,和相等类似,但它不会做自动类型转换。
<script>
console.log(1===1);
console.log(1==='1');
console.log(1==='2');
console.log(0===null);
console.log("ab"==="a");
console.log("0"===true);
</script>
!==
不全等,类似,不解释。