首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请教这两个对象为什么不相等

2012-03-19 
请问这两个对象为什么不相等啊obj1{a:1,b:2}obj2{a:1,b:2}if(obj1obj2){alert(相等)}[解决办法]对象

请问这两个对象为什么不相等啊
obj1={a:1,b:2}
obj2={a:1,b:2}
if(obj1==obj2){alert('相等')}

[解决办法]
对象的地址不一样!
[解决办法]
http://kb.cnblogs.com/a/1619321/
[解决办法]
++

探讨

对象的地址不一样!

[解决办法]
首先obj1和obj2都是object类型,它们的type一样。所以==

转变为===,然后根据===的规则处理。

对于两边都是object类型,===的规则是,如果两边是同一个object,则它们相等,返回true。
如果是不同的object,即使是两个object有完全相同的properties,则不相等,返回false。

上面的obj1和obj2就是有着完全相同的properties的两个不同object。

热点排行