AngularJs angular.equals

angular.equals

对比两个对象/值是否相等。支持值类型、正则表达式、数组和对象。

如果下列至少有一个是正确的,则将两个对象/值视为相等。

  • 两个对象/值能通过===比较。
  • 两个对象/值是同一类型/他们的属性一致并且通过angular.equals详细比较。
  • 两者都是NaN. (在javascript中, NaN == NaN => false. 但是我们认为两个 NaN 是平等的)
  • 两个值都代表相同的正则表达式 (在JavaScript里, /abc/ == /abc/ => false. 但是我们认为,在文本匹配时,正则表达式是相同的).

格式:angular.equals(o1,o2);

o1:对比的对象/值 1

o2:对比的对象/值 2

使用代码:

  var a = 10;//number
  var b = "10";//string
  var _valueF = angular.equals(a,b); //false
  var c = 10;//number
  var _valueT = angular.equals(a,c); //true

本兽的理解:对两个对象或者值进行一次较深的对比,并返回对比的结果。

angularequals就像在JavaScript里面,有 “==” 和 “===” 的对比(这点在它的介绍里也提了):

  var a = 1;//number
  var b = "1";//string
  var _valueF = (a == b);//true
  var _valueT = (a === b);//false
  var c = 1;//number
  var _valueTH = (a == c);//true
  var _valueFO = (a === c);//true

那么angular.equals的对比就是和JavaScript 的 “===” 相同咯,对进行对比的两个值的对比要求比较高,需要他们两的类型/属性/值都能对应的上。