angular.equals

angular.equals 函数比较并确定 2 个对象或值是否相等,angular.equals 执行深度比较,当且仅当满足以下条件中的至少一个时才返回 true。

angular.equals(value1, value2)

  1. 如果对象或值通过 === 比较
  2. 如果两个对象或值都属于同一类型,并且使用 angular.equals 它们的所有属性也相同
  3. 这两个值都等于 NaN
  4. 两个值都表示相同的正则表达式的结果。

当你需要通过值或结果而不仅仅是引用来深入比较对象或数组时,此函数很有用。

例子

angular.equals(1, 1) // true
angular.equals(1, 2) // false
angular.equals({}, {}) // true, note that {}==={} is false
angular.equals({a: 1}, {a: 1}) // true
angular.equals({a: 1}, {a: 2}) // false
angular.equals(NaN, NaN) // true