1.angular.identity
函数返回本身的第一个参数,这个函数一般用于函数风格
function getResult(fn,value){
//相当于 return fn(value);getResult()函数中第二个参数充当了第一个参数的参数
return (fn || angular.identity)(input);
//这里如果fn参数为空(null / undefined)就使用angular.identity,那么当第一个参数不是function类型时,等同于返回 function(value){return value}
//例:
getResult(function(n){return n*2;},21) //42
getResult(null,21) //21
getResult(undefined,21) //21
2.angular.noop
一个不执行任何操作的空函数。这个函数一般用于函数风格
var getResult=function(fn,val){
//等同于 return fn(val);平时如果传入的第一个参数为空这种写法会报错
//但是以下写法则不会
return (fn || angular.noop)(val)
};
var firstResult = getResult(function(value){console.log(value*2)},3) //6
var secondResult = getResult(null,3) //null
var thirdResult = getResult(undefined ,3) //undefined
angular.identity和noop两如果传的参数都为函数则功能类似,如果不为函数,identity则返回的是传入的第二个参数,noop返回的是传入的第一个参数(即不为函数的那个参数)
}