javascript模式之--迭代器模式

来源:互联网 发布:ubuntu apache php 编辑:程序博客网 时间:2024/05/16 08:03

以下是用javascript模擬的迭代器模式。

var iterator = (function(){     var index = 0,         data = ['one','two','three','four','five','six','seven','eight','nine','ten'],         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;             },         current: function(){  //獲取到當前元素             return data[index];         },         rewind: function(){ //重置指針             index = 0 ;         }     };})();while(iterator.hasNext()){    console.log(iterator.next());}//outputonetwothreefourfivesixseveneightnineten

此段代碼不僅用到了迭代器模式,還有即時函數模式,模塊模式,靜態私有成員等等模式。


reference:《javascript设计模式》 Stoyan Stefanov 著,陈新 译

0 0
原创粉丝点击