angular.forEach

调用迭代器函数取每一项目标的集合,它可以是一个对象或数组。迭代器函数与迭代器(value、key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关键或数组元素索引。为函数指定一个可选的上下文。

格式:angular.forEach(obj,iterator,[context]);

obj:遍历的对象

iterator:迭代器

[content]: 对象为迭代器函数的上下文(this)

使用代码:

   var arr = [{ name: "A", age: "1" }, { name: "B", age: "2" }, { name: "C", age: "3" }];
var _arr = [];
angular.forEach(arr, function (item, index) {
this.push(item.name);
}, _arr);
//_arr = ["A","B","C"]

推荐使用:

   var arr = [{ name: "A", age: "1" }, { name: "B", age: "2" }, { name: "C", age: "3" }];
var _arr = [];
angular.forEach(arr, function (item, index) {
_arr.push(item.name);
});
//_arr = ["A","B","C"]

item指的是循环的集合中的对象,index是当前item的索引值。

在项目开发过程中,用到遍历是很正常且平常的事,那么angular也给我们提供了这个api -- angular.forEach。这个和jquery的的.each()方法相似,但貌似他比jquery的.each多了个参数。

angular.extend

复制src对象中的属性到dst对象中。你可以指定多个源对象。

格式:angular.extend(dst,src)

dst:目标对象

src:copy源对象(>=1)

使用代码:

  var dst = { name: "Any" };
var src_one = { age: "18" };
var src_two = { sex:"male"};
angular.extend(dst,src_one,src_two);
//dst:{name: "Any", age: "18",sex:"male"} src_one={age:"18"} src_two = {sex:"male"}

这个方法主要是用对象给对象添加属性的,比如我们定义了个对象,然后需要在后面的代码对这个对象进行添加别的对象的属性作为自己的属性,然后这时候我们就需要用到angular.extend。而且这个方法还可以添加对个对象做为参数,给第目标对象添加属性,即方便又简单  -。-

本兽在一些封装好的插件的源码里看到这个方法也用到挺多,不过总觉得只有自己动手写代码用过了,才能更好的体会到这些方法的好处,仅仅是看下了解下就觉得自己理解了的这种,是不能真正的学到的,这两种学习的具体体会在用到代码的时候就知道了...建议大家都动手操作。

AngularJs angular.forEach、angular.extend的更多相关文章

  1. Angular - - angular.forEach、angular.extend

    angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关 ...

  2. angular.extend、angular.$watch、angular.bootstrap

    1.angular.extend:依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象. 直接上代 ...

  3. AngularJs angular.injector、angular.module

    angular.injector 创建一个injector对象, 调用injector对象的方法可用于获取服务以及依赖注入. 格式:angular.injector(modules); modules ...

  4. Angular - - angular.injector、angular.module

    angular.injector 创建一个injector对象, 调用injector对象的方法可用于获取服务以及依赖注入. 格式:angular.injector(modules); modules ...

  5. angular.js 的angular.copy 、 angular.extend 、 angular.merge

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. AngularJs angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson

    angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = &quo ...

  7. AngularJs angular.bind、angular.bootstrap、angular.copy

    angular.bind 返回一个调用self的函数fn(self代表fn里的this).可以给fn提供参数args(*).这个功能也被称为局部操作,以区别功能. 格式:angular.bind(se ...

  8. Angular - - angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson

    angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = &quo ...

  9. Angular - - angular.bind、angular.bootstrap、angular.copy

    angular.bind 返回一个调用self的函数fn(self代表fn里的this).可以给fn提供参数args(*).这个功能也被称为局部操作,以区别功能. 格式:angular.bind(se ...

随机推荐

  1. FineUI v3.3.2发布!目前最稳定版本,五年陈酿!

    关于FineUI基于 ExtJS 的专业 ASP.NET 控件库. FineUI的使命创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No We ...

  2. 读“日请求亿级的QQ会员AMS平台PHP7升级实践”博客心得笔记

    PHP7版本尚未普及,对于前辈们为了性能提升有勇气探索新技术敢于尝螃蟹的精神十分敬佩,倍受鼓舞. PHP7升级面临的风险和挑战 对于一个已经现网在线的大型公共Web服务来说,基础公共软件升级,通常是一 ...

  3. 【对noip结束后一个月内的总结】

    最近在刷一些树结构,但发现没有一个提纲,觉得有点不知所措,经常学完一个就发现还有比它更好的,而且比较耗时间.于是沙茶准备按顺序刷bzoj的省选题,看看效果怎么样……求大神指教

  4. MATLAB实现频数直方图——hist的使用

      "hist" is short for "Histogram(直方图.柱状图)". 1.N = hist(Y) bins the elements of Y ...

  5. Matlab中函数定义方法

    Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...

  6. coursera 公开课 文本挖掘和分析(text mining and analytics) week 1 笔记

    一.课程简介: text mining and analytics 是一门在coursera上的公开课,由美国伊利诺伊大学香槟分校(UIUC)计算机系教授 chengxiang zhai 讲授,公开课 ...

  7. iOS 自定义NavigationBar右侧按钮rightBarButtonItem--button

    //两个按钮的父类view UIView *rightButtonView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; //历史浏览按钮 ...

  8. 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型:解决方法

    http://blog.csdn.net/xiaochongchong1248/archive/2009/11/20/4841193.aspx?1271573283 编程环境要求:VS2008/FX2 ...

  9. mysql explain知道

     

  10. Ceph: validate that the RBD cache is active

    Ceph: validate that the RBD cache is active Quick and simple test to validate if the RBD cache is en ...