'=='和'==='的区别在于,前者只检查值,而后者只检查值,还检查数据类型(字符串,布尔值等)。以下示例给出分配的值是否相等,而与数据类型无关。
<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
“ ===”操作符在且仅当值和数据类型相等时才给出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