javascript設計モード-----ディエゼルモード


一、ローズマリー
ローズマリーモードでは、通常、ある種のデータセットを含むオブジェクトがあり、このデータは複雑なデータ構造の内部に記憶されてもよく、簡単な方法を提供するために、データ構造の各要素にアクセスすることができる.対象の消費者はデータの整理方法を知る必要がなく、必要なものはすべて単一のデータを除いて操作することです.
//     
			var agg = (function(){
				var index = 0,
					data = [1,2,3,4,5],
					length = data.length;
					
				return {
					next:function(){
						var element;
						if(!this.hasNext()){
							return null;
						}
						element = data[index];
						index = index + 1;
						return element;
					},
					hasNext:function(){
						return index < length;
					},
					rewind:function(){
						index = 0;
					},
					current:function(){
						return data[index];
					}
				}
			})()
			
			//  
			while(agg.hasNext()){
				console.log(agg.next());
			}//  1,2,3,4,5