您的位置:首页 > 运维架构

Angular - - angular.identity和angular.noop

2015-12-17 10:13 253 查看
angular.identity

函数返回本身的第一个参数。这个函数一般用于函数风格。

格式:angular.identity()

使用代码:

(function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
var getResult = function (fn, val) {
return (fn || angular.identity)(val);
};
var result = getResult(function (n) { return n * 2; }, 3); //  result = 6
var null_result = getResult(null, 3);//  null_result = 3
var undefined_result = getResult(undefined, 3);// undefined _result = 3
};
}())


angular.noop

一个不执行任何操作的空函数。这个函数一般用于函数风格。

格式:angular.noop();

贴代码:

(function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
var _console = function (v) {
return v * 2;
};
var getResult = function (fn, val) {
return (fn || angular.noop)(val);
};
var firstResult = getResult(_console, 3);//6
var secondResult = getResult(null, 3);//undefined
var thirdResult = getResult(undefined, 3);// undefined
};
}())


对这两个api的理解也是有点醉,总的来说呢,这两个方法都是用来写函数的时候用的,根据上面写的demo的代码及 运行结果来看,野兽认为他们的作用是用来防止函数传入的是null或者undefined或者其他不能操作的对象。因为如果去掉这两个后,你在函数调用的 时候传入null/undefined/或者其他不能执行的对象,那么控制台是直接报错的..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: