mdn:当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。a().c() 和 a() 都指向的是b,为什么会不相等呢?难道他们的内存地址不一样?
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
javascript 中对象的比较不是值得比较,是引用的比较和对象拥有的属性以及值并没有半毛线关系, 两个对象的引用是一样的才是相等的并且 == 与 === 对于对象的比较来说并没有区别都是引用的比较;
a().c() 返回的是一个新定义的b 对象
a() 返回的也是一个新的定义的b对象
都是新的对象并没有指向同一个引用,所以false;
添加回答
举报
0/150
提交
取消