JavaScript实现Iterator模式

2016-02-19 15:54 5 1 收藏

下面是个JavaScript实现Iterator模式教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

  在网上看到有不少JS设计模式的示例。

  今天参照:

  http://www.cnblogs.com/iloveu/archive/2009/03/31/1426234.html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  写了一下,记录在此,仅作备忘:

!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"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

 ///@定义一个迭代器对象
 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.indexthis.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

来源:http://www.tulaoshi.com/n/20160219/1610672.html

延伸阅读
标签: Web开发
不太像,而且比较耗资原,不知道有没有更好的办法=.= 火焰 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
style type="text/css"    #oContainer {          width: 600px;          height: 500px;          border: 1px solid menu;   ...
标签: Web开发
其实挺简单的,刚好今天有用到,顺手记一下,以后用就copy好了 .    script language="javaScript"          //全选或全部不选       function checkall(){         var isChecked=(document.ck.checkAll.checked == true); ...
标签: Web开发
在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的。 方案一: 以原型方式调用,即obj.trim()形式,此方式简单且使用方面广泛,定义方式如下: ﹤scriptlanguage=”javascript”﹥ /** *删除左右两端的空格 */ String.prototype.t...
标签: Web开发
这是一个很典型的一个background-position-x的应用。技术含量并不高,但是思想还是值得思考的,证明了DHTML方面有很多东西可以变通的。用背景用map,如果做得更复杂一些,用ajax动态的载入图片的背景,也是一个小型的map了。我不打算在此项深究,因为脚本的速度和效率是有瓶颈的。 预备知识: background-position-x ------------- ...

经验教程

540

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部