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 相关文章推荐
javascript Array.sort() 跨浏览器下需要考虑的问题
Dec 07 Javascript
JS防止用户多次提交的简单代码
Aug 01 Javascript
JavaScript实现输入框与清空按钮联动效果
Sep 09 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
Oct 19 Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
layui监听工具栏的实例(操作列表按钮)
Sep 10 Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
jquery实现聊天机器人
Feb 08 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
DOMXML函数笔记
2006/10/09 PHP
初识PHP
2014/09/28 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python工厂函数用法实例分析
2018/05/14 Python
python让列表倒序输出的实例
2018/06/25 Python
关于python3中setup.py小概念解析
2019/08/22 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
为什么需要版本控制
2016/10/28 面试题
假日旅行社实习自我鉴定
2013/09/24 职场文书
商场总经理岗位职责
2014/02/03 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
校长四风对照检查材料
2014/09/27 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技