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 的 “===” 相同咯,对进行对比的两个值的对比要求比较高,需要他们两的类型/属性/值都能对应的上。