js迭代器模式——內部迭代器
阿新 • • 發佈:2019-02-01
<h1>迭代器模式是一種方法順序訪問一個聚合物件中的各個元素,而又不需要暴露該物件的內部表示。迭代器模式可以吧迭代過程從業務邏輯中分離出來, 在使用迭代器模式之後,即使不關心物件的內部構造,也可以按順序訪問其中的每個元素。</h1> <p>jQuery中的迭代器-內部迭代器</p> <script> $.each(["xie","xia","ling"],function(index,value){ 索引值:console.log(index); 當前值:console.log(value); }) </script> <p>實現自己的迭代器</p> <script> var each = function(arr,callback){ for( var i = 0 ; i < arr.length ; i++ ){ callback.call( arr[ i ] , i , arr[ i ] ); } }; console.log(each( [1,3,5] , function( i, val ){ console.log( [i, val] ) } )) </script> <h1>迭代器分為兩種:內部迭代器和外部迭代器</h1> <p>內部迭代器:我們剛剛編寫的each函式屬於內部迭代器,each函式的內部已經定義好了迭代規則,他會全權接手外部只需一次初始呼叫。 內部迭代器在呼叫的時候非常方便,外界不需要關係迭代器的內部實現,跟迭代器的互動僅是一次初始呼叫,但這也是迭代器的缺點,無法滿足一些業務需求。</p>