type
status
date
slug
summary
tags
category
icon
password
上次编辑时间
Apr 9, 2025 02:08 PM
在JavaScript中,我们处理有关对象的业务逻辑的时候,你可能见过这种奇怪的现象:

即使两个不同的对象可以具有相同的属性,但在使用
==
或===
进行比较时,它们不被认为是相等的。这是因为它们是通过引用(内存中的位置)进行比较的,而不是按值进行比较的原始值。为了测试两个对象在结构上是否相等,需要一个辅助函数。它将遍历每个对象的自身属性,以测试它们是否具有相同的值,包括嵌套对象。
可选地,对象的原型也可以通过传递true作为第三个参数来测试等价性。
注意:理论上此方法可以任意数据结构,但是建议用于测试普通对象、数组、函数、日期。
- 作者:Tsing
- 链接:https://www.huqing.site/front-end/1cb94e5f-a0ad-8045-a84f-f78ad3c11f5c
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。