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>
原文地址:https://www.cnblogs.com/ms-grf/p/6963124.html