嘿!@野兽,你的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 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

}])

</script>

angular.noop

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

格式:angular.noop();

贴代码:

<script>

angular.module("Demo", [])

.controller("testCtrl", ["$scope", function ($scope) {

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

}])

</script>

@野兽都这2两个api的理解也是有点醉,总的来说呢,这两个方法都是用来写函数的时候用的,根据上面写的demo的代码及运行结果来看,@野兽认为他们的作用是用来防止函数传入的是null或者undefined或者其他不能操作的对象。因为如果去掉这两个后,你在函数调用的时候传入null/undefined/或者其他不能执行的对象,那么控制台是直接报错的...

这两个的源码也非常简单,就2-3行,而且每行代码不超过20个字母...

好了,今天就写2篇@野兽的api 学习理解吧,最近得学快点和写快点了,不然一下写不到那些更好的用法什么的....  今天小伙伴问我问题的时候也要求我尽快的写...  但是时间有限啊亲 T_T

时间: 2024-08-24 10:31:28

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

嘿!@野兽,你的ng api 掉了 - - angular.forEach

@野兽的 ng api 学习 -- angular.forEach angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关键或数组元素索引.为函数指定一个可选的上下文. 格式:angular.forEach(obj,iterator,[context]); obj:遍历的对象 iterator:迭代器 [content]: 对象为迭代器函数的上下文(t

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

@野兽的 ng api 学习 -- angular.uppercase和angular.lowercase angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = "ABCabc"; var upperCase = angular.uppercase(str);//ABCABC angular.lowercase 将指定的字符串转换成小写 格式:ang

嘿!@野兽,你的ng api 掉了 - - angular.element

@野兽的 ng api 学习 -- angular.element 将DOM元素或者HTML字符串一包装成一个jQuery元素. 格式:angular.element(element); element:包装成jquery对象的html字符串或者dom元素 jqLite提供的方法: addClass() after() append() attr() bind() – 不支持命名空间,选择器和事件数据 children() – 不支持选择器 clone() contents() css() da

嘿!@野兽,你的ng api 掉了 - - angular.copy

@野兽的 ng api 学习 -- angular.copy angular.copy 针对对象或数字创建一个深层的拷贝. 格式:angular.copy(source, [destination]); source:被拷贝的对象 destination:接收的对象 [注意:参数类型是对象或数组] 使用代码: var objA, objD = []; //objA:undefined objD:[] var objB = { text: "Hello World" }; var obj

嘿!@野兽,你的ng api 掉了 - - angular.bootstrap

@野兽的 ng api 学习 -- angular.bootstrap angular.bootstrap 使用这个功能来手动启动angular应用.基于ngScenario的端对端测试不能使用bootstrap手动启动,需要使用ngApp. Angular会检测应用在浏览器是否已启动并且只允许第一次的启动,随后的每次启动都将会导致浏览器控制台报错. 这可以防止应用出现多个Angular实例尝试在Dom上运行的一些奇异结果. 格式:angular.bootstrap(element,[nodul

@野兽的Angular Api 学习、翻译及理解 - - angular.module

@野兽的 ng api 学习 -- angular.module angular.module 创建一个全局的可用于检索和注入的Angular模块.所有Angular模块(Angular核心模块或者第三方模块)想要在应用里实现,都需要使用这个注入机制. 格式:angular.module(name,[requires],[configFn]); name :  string  创建的模块名称. [requires]: 字符串的数组  代表该模块依赖的其他模块列表,如果不依赖其他模块,则为空数组.

Web API 基于ASP.NET Identity的Basic Authentication

今天给大家分享在Web API下,如何利用ASP.NET Identity实现基本认证(Basic Authentication),在博客园子搜索了一圈Web API的基本认证,基本都是做的Forms认证,很少有Claims认证(声明式认证),而我们在用ASP.NET Identity实现登录,认证,授权的时候采用的是Claims认证. 在Web API2.0中认证接口为IAuthenticationFilter,我们只需实现该接口就行.创建BasicAuthenticationAttribut

野兽的Angular Api 学习、翻译及理解 - - form.FormController、ngModel.NgModelController

野兽的ng api学习 -- form.FormController.ngModel.NgModelController form.FormController FormController跟踪所有他所控制的和嵌套表单以及他们的状态,就像有效/无效或者脏值/原始. 每个表单指令创建一个FormController实例. 方法: $addControl(); 给表单注册一个控制器. 使用了ngModelController的输入元素会在连接时自动执行. $removeControl(); 给表单注

野兽的Angular Api 学习、翻译及理解 - - ngRoute Angular自带的路由

野兽的ng api学习 -- ngRoute ngRoute $routeProvider 配置路由的时候使用. 方法: when(path,route); 在$route服务里添加一个新的路由. path:该路由的路径. route:路由映射信息. controller:字符串或函数,指定控制器. controllerAs:一个用于控制器的标识符名称.. template:字符串或函数,html模板. templateUrl:字符串或函数,html模板的地址. resolve:对象,一个可选的