用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