两个引用类型的数据进行比较,比较的是它们的引用。即使是两个看着一模一样的数组,如果不是引用的同一个数组,那么它们也是不相等的。只有它们引用同一个数组,比较的时候才会相等。例如var a=[];var b=[] , a和b并没有引用同一个空数组,所以a不等于b。var c=[]; var d=c,把c的值赋值给了d,即c和d引用了同一个空数组,所以它们两个是相等的。另外,如果两个不同类型的数据进行==比较,会把左右转换成同一类型再比较。
如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
document.write([[]==[],[]===[],4==[4],4===[4]]);
</script>
</body>
</html>