JavaScript實現(xiàn)Iterator模式實例分析
更新時間:2015年06月09日 11:32:19 作者:McJeremy&Fan
這篇文章主要介紹了JavaScript實現(xiàn)Iterator模式,實例分析了Iterator模式的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了JavaScript實現(xiàn)Iterator模式的方法。分享給大家供大家參考。具體分析如下:
經(jīng)常在網(wǎng)上看到有不少JS設(shè)計模式的示例。這里寫一下JavaScript實現(xiàn)Iterator模式的方法,記錄在此,僅作備忘:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>無標題 1</title>
</head>
<body>
<script type="text/javascript" language="javascript">
///@定義一個迭代器對象
function Iterator(arr)
{
this.obj=arr;
this.length=this.obj.length;
this.index=0; //從前往后
}
Iterator.prototype=
{
current:function()
{
return this.obj[this.index-1];
},
first:function()
{
return this.obj[0];
},
last:function()
{
return this.obj[this.length-1];
},
hasNext:function()
{
this.index=this.index+1;
if(this.index>this.length || null==this.obj[this.index-1])
return false;
return true;
}
}
Array.prototype.createIterator=function()
{
return new Iterator(this);
}
var test=['abc1','abc2','abc3'];
var iter=test.createIterator();
while(iter.hasNext())
{
var tempArr=iter.current();
alert(tempArr);
}
</script>
</body>
</html>
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
詳解JavaScript中Generator函數(shù)的使用
Generator 是 ES6 新增的一種函數(shù)類型,這篇文章主要來和大家詳細聊聊Generator函數(shù)的具體用法,文中的示例代碼講解詳細,感興趣的可以了解一下2023-06-06
JavaScript正則表達式exec/g實現(xiàn)多次循環(huán)用法示例
這篇文章主要介紹了JavaScript正則表達式exec/g實現(xiàn)多次循環(huán)用法,結(jié)合實例形式分析了javascript正則表達式g修飾符相關(guān)使用技巧,需要的朋友可以參考下2017-01-01
類似php的js數(shù)組的in_array函數(shù)自定義方法
PHP的數(shù)組函數(shù)in_array()非常方便,下面就為大家介紹下自定義類似php的js數(shù)組的in_array函數(shù),具體實現(xiàn)方法如下,感興趣的朋友可以參考下2013-12-12

