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 相关文章推荐
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
Add a Formatted Table to a Word Document
Jun 15 Javascript
javascript循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
javascript获取当前日期时间及其它操作函数
Jan 11 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
原生js实现跨浏览器获取鼠标按键的值
Apr 08 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
Jun 06 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
Feb 27 Javascript
JS实现滑动导航效果
Jan 14 Javascript
详解ES6 扩展运算符的使用与注意事项
Nov 12 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学习 运算符与运算符优先级
2008/06/15 PHP
php密码生成类实例
2014/09/24 PHP
javascript设计模式 接口介绍
2012/07/24 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
Python制作CSDN免积分下载器
2015/03/10 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
python爬虫工具例举说明
2020/11/30 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
六十岁生日答谢词
2014/01/10 职场文书
11月红领巾广播稿
2014/01/17 职场文书
九年级体育教学反思
2014/01/23 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android