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中使用等于运算符比较两个对象时,它总是比较它们的引用,而不是实际值。在这里,您正在比较两个对象,它们的引用是不同的,这就是为什么您得到错误的原因