5-angular.equals
对比两个对象/值是否相等。支持值类型、正则表达式、数组和对象。
如果下列至少有一个是正确的,则将两个对象/值视为相等。
- 两个对象/值能通过===比较。
- 两个对象/值是同一类型/他们的属性一致并且通过angular.equals详细比较。
- 两者都是NaN. (在javascript中, NaN == NaN => false. 但是我们认为两个 NaN 是平等的)
- 两个值都代表相同的正则表达式 (在JavaScript里, /abc/ == /abc/ => false. 但是我们认为,在文本匹配时,正则表达式是相同的).
格式:angular.equals(o1,o2);
o1:对比的对象/值 1
o2:对比的对象/值 2
使用:
<html ng-app="equalsExample"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="framework/angular.js"></script> </head> <body> <div ng-controller="ExampleController"> <form novalidate> <h3>User 1</h3> Name: <input type="text" ng-model="user1.name"> Age: <input type="number" ng-model="user1.age"> <h3>User 2</h3> Name: <input type="text" ng-model="user2.name"> Age: <input type="number" ng-model="user2.age"> <div> <br/> <input type="button" value="Compare" ng-click="compare()"> </div> User 1: <pre>{{user1 | json}}</pre> User 2: <pre>{{user2 | json}}</pre> Equal: <pre>{{result}}</pre> </form> </div> <script> angular.module('equalsExample', []).controller('ExampleController', ['$scope', function($scope) { $scope.user1 = {}; $scope.user2 = {}; $scope.compare = function() { $scope.result = angular.equals($scope.user1, $scope.user2); }; }]); </script> </body> </html>