请说明 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

更新于: 2019-07-30

119 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.