用JavaScript写'=='和'==='运算符之间的主要区别?

'=='和'==='的区别在于,前者只检查值,而后者只检查值,还检查数据类型(字符串,布尔值等)。以下示例给出分配的值是否相等,而与数据类型无关。 

a)“ ==”运算符(检查相等性)

 例

<html>
<body>
<p id="strict"></p>
<script>
   var x = 5;
   var y = 5;
   var z = 6;
   document.getElementById("strict").innerHTML =
   (x == y) + "<br>" + (x == z);
</script>
</body>
</html>

输出结果

true
false


b)'==='运算符(检查严格相等) 

    “ ===”操作符在且仅当值和数据类型相等时才给出true。否则返回false。在下面的示例中,每个变量(x,y,z)都分配了值5,但其中一些给定了字符串数据类型(变量y和z)。当我们严格等于x和y时,我们将得到false,因为变量y被分配了字符串数据类型,而变量x却没有。  

 例

<html>
<body>
<p id="strict"></p>
<script>
   var x = 5;
   var y = "5";
   var z = "5";
   document.getElementById("strict").innerHTML =
   (x === y) + "<br>" + (x == z);
</script>
</body>
</html>

输出结果

false
true