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 ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery实现长文字部分显示代码
May 13 Javascript
JS比较两个时间大小的简单示例代码
Dec 20 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
javascript中caller和callee详解
Aug 10 Javascript
JS无缝滚动效果实现方法分析
Dec 21 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
微信小程序引用公共js里的方法的实例详解
Aug 17 Javascript
react-native-fs实现文件下载、文本存储的示例代码
Sep 22 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 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 获取mysql数据库信息代码
2009/03/12 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
js 触发select onchange事件代码
2014/03/20 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
angularjs路由传值$routeParams详解
2020/09/05 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
学习Django知识点分享
2019/09/11 Python
python绘制玫瑰的实现代码
2020/03/02 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
销售会计岗位职责
2014/03/15 职场文书
教师节标语大全
2014/10/07 职场文书
世界文化遗产导游词
2015/02/13 职场文书
教师聘用意向书
2015/05/11 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
为Java项目添加Redis缓存的方法
2021/05/18 Redis
pytorch Dropout过拟合的操作
2021/05/27 Python
mysql查找连续出现n次以上的数字
2022/05/11 MySQL