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。而且這個方法還可以添加對個對象做為參數,給第目標對象添加屬性,即方便又簡單 -。-
本獸在一些封裝好的插件的源碼里看到這個方法也用到挺多,不過總覺得只有自己動手寫代碼用過了,才能更好的體會到這些方法的好處,僅僅是看下了解下就覺得自己理解了的這種,是不能真正的學到的,這兩種學習的具體體會在用到代碼的時候就知道了...建議大家都動手操作。