這篇文章主要介紹了JavaScript實(shí)現(xiàn)Iterator模式,實(shí)例分析了Iterator模式的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
本文實(shí)例講述了JavaScript實(shí)現(xiàn)Iterator模式的方法。分享給大家供大家參考。具體分析如下:
經(jīng)常在網(wǎng)上看到有不少JS設(shè)計(jì)模式的示例。這里寫一下JavaScript實(shí)現(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>無標(biāo)題 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è)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選