JavaScript实现Iterator模式实例分析


Posted in Javascript onJune 09, 2015

本文实例讲述了JavaScript实现Iterator模式的方法。分享给大家供大家参考。具体分析如下:

经常在网上看到有不少JS设计模式的示例。这里写一下JavaScript实现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程序设计有所帮助。

Javascript 相关文章推荐
比较简单的异步加载JS文件的代码
Jul 18 Javascript
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
JavaScript函数模式详解
Nov 07 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
JavaScript事件委托实例分析
May 26 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 Javascript
js数组的基本使用总结
Jan 18 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 #Javascript
JavaScript数组迭代器实例分析
Jun 09 #Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 #Javascript
JavaScript中的some()方法使用详解
Jun 09 #Javascript
详解JavaScript中shift()方法的使用
Jun 09 #Javascript
在JavaScript中处理数组之reverse()方法的使用
Jun 09 #Javascript
JavaScript中reduce()方法的使用详解
Jun 09 #Javascript
You might like
教你php如何实现验证码
2016/01/20 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
Python中__init__.py文件的作用详解
2016/09/18 Python
Python中单例模式总结
2018/02/20 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
python中正则表达式与模式匹配
2019/05/07 Python
Django模板语言 Tags使用详解
2019/09/09 Python
学年自我鉴定
2014/01/16 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
房地产推广策划方案
2014/05/19 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
2014国庆节标语口号
2014/09/19 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
护士求职自荐信
2015/03/25 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
Java 多线程协作作业之信号同步
2022/05/11 Java/Android