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获取图片长和宽度的代码
Nov 24 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
Jan 25 Javascript
Javascript动画效果(2)
Oct 11 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
Feb 22 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
Vuex,iView UI面包屑导航使用扩展详解
Nov 04 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
Nov 09 jQuery
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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
php二维码生成以及下载实现
2017/09/28 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python解决鸡兔同笼问题的方法
2014/12/20 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
给老师的一封感谢信
2015/01/20 职场文书
先进工作者个人总结
2015/02/15 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
付款证明模板
2015/06/19 职场文书
安全生产协议书
2016/03/22 职场文书