gpt4 book ai didi

JavaScript 对象比较

转载 作者:行者123 更新时间:2023-11-30 23:43:16 26 4
gpt4 key购买 nike

为什么最后一个 ===== 运算符在这里返回 true?

var object1 = {value: 10};
var object2 = object1;
alert(object1 == object2); // result makes sense

object2.otherValue = 15;
alert(object1 == object2); // doesn't make intuitive sense to me
alert(object1 === object2); // neither does this

最佳答案

在第三行,您将 object1 和 object2 设置为引用同一对象。整个程序中只存在一个对象。

因此第 5 行的赋值改变了该单个对象的值;换句话说,运行该行后,object1.otherValue === 15 为 true,即使您通过对对象的不同引用更改了该对象。

这就是为什么相等性检查仍然为真,因为 object1 object2,当然它等于它自己。

关于JavaScript 对象比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com