0
我阅读了关于equality comparison at MDN的文档,但我对Javascript如何执行严格的平等检查感兴趣。Javascript如何判断两个对象是否相同?
还有这个规范:http://ecma-international.org/ecma-262/5.1/#sec-11.9.6,但我真的不明白它是如何适用于两个对象。最后的声明是我认为的关键:
Return true if x and y refer to the same object. Otherwise, return false.
但是,Javascript如何检查它们是否引用同一个对象?
例如,假设一个对象Kitten
具有name
财产,我创建自己的名字进行初始化的两个小猫:
var kittenA = new Kitten("kitty A");
var kittenB = new Kitten("kitty B");
什么是JavaScript中使用,以确定该声明如下
kittenA === kittenB
将返回false?
你可能感兴趣的[如何解释ECMAScript术语中的对象引用?](http://stackoverflow.com/q/23554770/1048572)。我不认为它背后有很多东西。 – Bergi
您的标题问题听起来有点像重复[在JavaScript和=== ===之间的区别](http://stackoverflow.com/q/523643/1048572)。您应该编辑它以清楚地表明您的问题仅限于对象。 – Bergi
它检查引用是否相同(即'kittenA'和'kittenB'指向相同的基础对象)。在这种情况下,引用指向不同的对象,这就是它返回false的原因。 – grovesNL