1. 程式人生 > >js迭代器模式——內部迭代器

js迭代器模式——內部迭代器

        <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>