解释:http://stackoverflow.com/questions/15421502/is-there-any-good-example-of-use-cases-for-angular-identity
看ng文档有个奇怪的方法angular.identity。
好像就是你传什么就返回什么。
官方文档给的例子是:
@H_502_10@function transformer(transformationFn,value) { @H_502_10@return (transformationFn || angular.identity)(value); };
实际上等价于
@H_502_10@function transformer(transformationFn,value) { @H_502_10@if(transformationFn){ @H_502_10@return transformationFn(value); }@H_502_10@else{ @H_502_10@return angular.identity(value); } };
运用场景
// 有下面方法,返回一个数的平方 $scope.square = @H_502_10@function(n) { @H_502_10@ return n * n }; //把这个方法作为参数使用 $scope.givemeResult = @H_502_10@function(fn,val) { @H_502_10@return (fn || angular.identity)(val); }; $scope.initVal = 5; $scope.squareResult = $scope.givemeResult($scope.square,$scope.initVal);
返回25,如果
$scope.squareResult = $scope.givemeResult($scope.square2,$scope.initVal);
因为$scope.square2根本不存在,所以返回5