这个forEach还是比较简单的,angular.forEach有三个参数,前两个参数是必须的,第三个是可选的;

使用方法:

名称 说明
obj(对象或者数组) 被迭代对象
iterator(函数) 迭代器函数
context(对象) 在iterator中被指定为上下文的对象,也就是说在iterator里面的this指的就是此处的context
返回值 (对象或者数组) 返回的是前面第一个参数obj的引用。

举个例子

var values = {name: 'misko', gender: 'male'};
var log = [];
angular.forEach(values, function(arg1, arg2, arg3) {
   this.push(arg1 + ': ' + arg2);
   console.log(arg3);
}, log);
console.log(log);

这里forEach传递了三个参数,先说说里面的第三个参数log,将forEach的上下文指定为log,这样在第二个参数function里面的this指的就是log,如果不填写第三个参数的话,里面的this指向的就是window。
还要说明的是这里面的第二个参数function,function里面最多可以填写三个参数:

参数 说明
arg1就是我们常见的key 即此处的name/gender
arg2就是我们常见的value 即此处的misko/male,一般不用
第三个参数arg3 如果非要第三个参数的话,arg3的值就是此处的对象values。

angular.forEach

分类: AngularJS

发表评论

电子邮件地址不会被公开。 必填项已用*标注