Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery比较对象始终导致false_Javascript_Jquery - Fatal编程技术网

Javascript jQuery比较对象始终导致false

Javascript jQuery比较对象始终导致false,javascript,jquery,Javascript,Jquery,有什么问题吗 我在谷歌上搜索过,他们中的许多人说只要简单地使用==就可以了 但是当我运行以下代码时 <body> <button id="A" type="button">A</button> </body> <script> $(document).ready(function(){ var temp = $("#A"); $("#A").click(function(){ alert($(this)=

有什么问题吗

我在谷歌上搜索过,他们中的许多人说只要简单地使用==就可以了

但是当我运行以下代码时

<body>
<button id="A" type="button">A</button>
</body>
<script>
$(document).ready(function(){
    var temp = $("#A");
    $("#A").click(function(){
        alert($(this)==temp);
    });
});
</script>

A.
$(文档).ready(函数(){
var temp=$(“#A”);
$(“#A”)。单击(函数(){
警报($(此)=温度);
});
});
结果总是错误的


有人能帮我吗?谢谢

您不能用
=
比较两个对象。temp保存元素的引用。因此,将参考值与实际元素进行比较

尝试使用
.is()

console.log({}=={});//假的
$(文档).ready(函数(){
var temp=$(“#A”);
$(“#A”)。单击(函数(){
警报($(this).is(temp));
});
});


A
您不能将两个对象与
=
进行比较。temp保存元素的引用。因此,将参考值与实际元素进行比较

尝试使用
.is()

console.log({}=={});//假的
$(文档).ready(函数(){
var temp=$(“#A”);
$(“#A”)。单击(函数(){
警报($(this).is(temp));
});
});


每当我们在javascript中使用equal to运算符比较两个对象时,它总是比较它们的引用,而不是实际值。这里比较的是两个引用不同的对象,这就是为什么会出现错误。

每当我们在javascript中使用等于运算符比较两个对象时,它总是比较它们的引用,而不是实际值。在这里,您正在比较两个对象,它们的引用是不同的,这就是为什么您得到错误的原因