angular.identity

解释:http://stackoverflow.com/questions/15421502/is-there-any-good-example-of-use-cases-for-angular-identity

看ng文档有个奇怪的方法angular.identity

好像就是你传什么就返回什么。

官方文档给的例子是:

function transformer(transformationFn, value) {
  return (transformationFn || angular.identity)(value);
};

实际上等价于

function transformer(transformationFn, value) {
  if(transformationFn){
    return transformationFn(value);
  }else{
    return angular.identity(value);
  }
};

运用场景

// 有下面方法,返回一个数的平方
$scope.square = function(n) {
   return n * n
};

//把这个方法作为参数使用

$scope.givemeResult = function(fn, val) {
   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

时间: 2024-10-06 00:56:03

angular.identity的相关文章

嘿!@野兽,你的ng api 掉了 - - angular.identity和angular.noop

@野兽的 ng api 学习 -- angular.identity和angular.noop angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码: <script> angular.module("Demo", []) .controller("testCtrl", ["$scope", function ($scope) { var getR

Angular - - angular.identity和angular.noop

angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码 (function () { angular.module("Demo", []) .controller("testCtrl", testCtrl); function testCtrl() { var getResult = function (fn, val) { return (fn || angular.identi

angular.equals()、angular.extend()、angular.foreach()、angular.fromJson()、angular.identity()等

angular.equals(o1, o2) 解释:参数o1和o2的比较(参数可以为变量.数组.对象) demo:angular.equals({name:'xxx'},{name:'yyy'}); //$ false angular.extend(dst, src) dst:被扩展的目标 src:扩展的对象 解释:对象的扩展,存在的类型进行值得覆盖,不存在的增加该类型. demo: var dst = {name: 'xxx', country: 'China'}; var src = {na

Angular js笔记

Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunction angular.isNumber angular.isObject angular.isString angular.isElement angular.version angular.equals(a,b)      //只要是相同的元素返回true,不同返回假 angular.forE

angular第二天

1.angular.module() 2.angular.bind() 3.在控制器中 this 与 controller 的关系? 4.angular.copy() 5.angular.extend() 6.angular.forEach() 7.angular.formJson() 8.angular.toJson() 9.angular.identity() 10.angular.noop() 11.angular.element() 与 jQuery的关系 11.angular.boot

angular下H5上传图片(可多张上传)

最近做的项目中用到了angular下上传图片功能,在做的过程中遇到了许多问题,最终都得以解决 angular上传时和普通上传时过程差不多,只不过是要不一些东西转化为angular的东西. 1.ng-file-select,指令angular是没此功能的,其实也是转化成了change事件,不多说,直接上代码 angular.module('myApp').directive('ngFileSelect', [ '$parse', '$timeout', function($parse, $time

Angular从0到1:function(上)

1.前言 Angular作为最流行的前端MV*框架,在WEB开发中占据了重要的地位.接下来,我们就一步一步从官方api结合实践过程,来学习一下这个强大的框架吧. Note:每个function描述标题之后的★标明了该function的重要程度(1~5星). 2.function(上) Angular封装了一系列公共方法,帮助我们更简单的使用JS.这些就是Angular的function. 2.1.angular.bind(★) angular.bind类似于Function.prototype.

angular全局确认框confirm

angular.module('custom-template', []).run(["$templateCache", function ($templateCache) { $templateCache.put("template/modal/confirmModelTemplate.html", '<div id="youModel" class="m-c">\n' + ' <div class=&qu

angular替代Jquery,常用方法支持

1.angular.bind(self,fn.args);   切换作用域执行 2.angular.copy(source,[destination]);   拷贝和深度拷贝 3.angular.equals(o1,o2);  比较 4.angular.extend(dst,src); 对象的扩展 5.angular.forEach(); 循环 6.angular.fromJson(string);字符串转Json 7.angular.toJson(json,pretty); json转字符串