猿问

js比较运算符比较两个对象的问题?

mdn:当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象(区域)时才相等,即他们在栈内存中的引用地址相同。

a().c() 和 a() 都指向的是b,为什么会不相等呢?难道他们的内存地址不一样?


一只名叫tom的猫
浏览 966回答 1
1回答

ITMISS

javascript 中对象的比较不是值得比较,是引用的比较和对象拥有的属性以及值并没有半毛线关系, 两个对象的引用是一样的才是相等的并且 == 与 === 对于对象的比较来说并没有区别都是引用的比较;a().c() 返回的是一个新定义的b 对象a() 返回的也是一个新的定义的b对象都是新的对象并没有指向同一个引用,所以false;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答