JavaScript实现Iterator模式实例分析
本文实例讲述了JavaScript实现Iterator模式的方法。分享给大家供大家参考。具体分析如下:
经常在网上看到有不少JS设计模式的示例。这里写一下JavaScript实现Iterator模式的方法,记录在此,仅作备忘:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metacontent="text/html;charset=utf-8"http-equiv="Content-Type"/>
<title>无标题1</title>
</head>
<body>
<scripttype="text/javascript"language="javascript">
///@定义一个迭代器对象
functionIterator(arr)
{
this.obj=arr;
this.length=this.obj.length;
this.index=0;//从前往后
}
Iterator.prototype=
{
current:function()
{
returnthis.obj[this.index-1];
},
first:function()
{
returnthis.obj[0];
},
last:function()
{
returnthis.obj[this.length-1];
},
hasNext:function()
{
this.index=this.index+1;
if(this.index>this.length||null==this.obj[this.index-1])
returnfalse;
returntrue;
}
}
Array.prototype.createIterator=function()
{
returnnewIterator(this);
}
vartest=['abc1','abc2','abc3'];
variter=test.createIterator();
while(iter.hasNext())
{
vartempArr=iter.current();
alert(tempArr);
}
</script>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。