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