我在另一篇文章中,介绍了相等运算符,告诉了大家一般类型值的比较,感兴趣的可以看👉文章链接,在那篇文章中,我没有讲对象比较,今天我单独给大家讲一讲对象的相等
说到对象相等,大家可能会认为两个对象的值完全一样,毫无疑问肯定相等,那我们试试看
var obj1 = {a:1}
var obj2 = {a:1}
大家觉得obj1 等于obj2吗?
结果可能有些出乎意料
obj1 == obj2 //结果为false
这是为什么呢?
这是因为检查两个对象变量是否相同时,其实比较的是指向对象的引用,并且仅当两个引用指向的是同一个对象时,他们才是相等的
var obj1 = {a:1}
var obj2 = obj1
obj1 == obj2 //结果为true
再举个例子,数组也是对象的一种
var a = [0,1,2]
var b = [0,1,2]
a == b //false
var b = a
a == b //true
所以牢牢记住,当两个引用指向同一个对象时,对象才是相等的
最后 🙌
好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。