angular的equals
判断二者值是否相同,angular 提供了一个 api :angular.equals(a, b),接两个参数。
基本数据类型,它直接比较值,这一点我们可以直接用 “==” 来判断。之所以记录它,说明它强大的地方:判断两个对象是否相等。
如果我们用两个对象做 == 判断,只要布置一方赋值给另一方,那么他们的存储地址永远都不会相同,也就是说 “==” 比较的仅仅是值,而 equals 可以比较引用的地址后的值:
$scope.obj1 = {name:'1'}; $scope.obj2 = {name:"1"}; $scope.equalTwoObj = angular.equals($scope.obj1,$scope.obj2); $scope.ifTwoObjSame = function(obj1,obj2) { if(obj1 == obj2){ return true; }else { return false; } } $scope.ifTheSame = $scope.ifTwoObjSame($scope.obj1,$scope.obj2);
equals 比较的值:true,而 “==” 比较后返回的 false。