JavaScript 实现 Iterator 迭代器模式实例

作者:木棉时间:2026-10-29 10:48:04浏览:324

本文通过具体代码示例,展示了如何在 JavaScript 中实现 Iterator(迭代器)模式。文章定义了一个迭代器对象,封装数组遍历逻辑,提供 hasNext 和 current 方法,帮助开发者理解并应用该设计模式。

JavaScript 实现 Iterator 迭代器模式实例

本文通过具体代码示例,展示了如何在 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 程序设计有所帮助。

作者最新文章