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进行的DDoS攻击原理与防御
Jun 04 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
jQuery检测返回值的数据类型
Jul 13 Javascript
jQuery查看选中对象HTML代码的方法
Jun 17 Javascript
非常实用的vue导航钩子
Mar 20 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
Apr 26 Javascript
React中使用collections时key的重要性详解
Aug 07 Javascript
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 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
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP的反射机制实例详解
2017/03/29 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
python 运算符 供重载参考
2009/06/11 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
市场总经理岗位职责
2014/04/11 职场文书
大学生个人求职信
2014/06/02 职场文书
英语教师个人总结
2015/02/09 职场文书
撤诉书怎么写
2015/05/19 职场文书
十月围城观后感
2015/06/08 职场文书
节水宣传标语口号
2015/12/26 职场文书