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 相关文章推荐
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
Nov 25 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
Jan 08 Javascript
微信小程序实现轮播图效果
Sep 07 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
深入理解JS的事件绑定、事件流模型
May 13 Javascript
Vue中对比scoped css和css module的区别
May 17 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 Javascript
JS函数参数的传递与同名参数实例分析
Mar 16 Javascript
基于JavaScript实现猜数字游戏代码实例
Jul 30 Javascript
Node.js实现断点续传
Jun 23 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中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
vue微信分享插件使用方法详解
2020/02/18 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Django实现自定义404,500页面教程
2017/03/26 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
成绩单家长评语大全
2014/04/16 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
公司总经理岗位职责
2015/04/01 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
k-means & DBSCAN 总结
2021/04/27 Python
详解vue中v-for的key唯一性
2021/05/15 Vue.js