美文网首页前端出版社
Javascript面向对象编程指南(六)——迭代器

Javascript面向对象编程指南(六)——迭代器

作者: 跟Y死磕 | 来源:发表于2017-02-14 10:11 被阅读8次

我们来展示闭包在实现迭代方面的功能。

通常情况下,我们都知道如何用循环来遍历一个简单的数组,但是有的时候我们需要面对更复杂的数据结构,他们通常会有着与数组截然不同的序列规则,这时候就需要将一些“谁是下一个”的复杂逻辑封装成抑郁使用的next()函数,然后我们只需要简单的调用next()就能实现对相关的遍历操作了。

在下面的例子中,我们将依然通过简单数组,而不是复杂的数据结构来说明问题。该例子是一个接受数组输入的初始化函数,我们在其中定义了一个私有指针i,该指针会始终指向数组中的下一个元素。

function setup(x) {
  var i = 0;
  return function () {
    return x[i++];
  };
}

现在,我们只需要用椅子数据来调用setup(),就可创建出我们所需要的next()函数,具体如下:

var next = setup(['a','b','c']);

这是一种即简单又好玩的循环形式:我们只需要重复的调用一个函数,就可以不停的获取下一个元素。

next()  // 'a'
next()  // 'b'
next()  // 'c'

相关文章

  • Javascript面向对象编程指南(六)——迭代器

    我们来展示闭包在实现迭代方面的功能。 通常情况下,我们都知道如何用循环来遍历一个简单的数组,但是有的时候我们需要面...

  • 2017上半年目标

    1、学习书单:《javascript面向对象编程指南》《你不知道的javascript》《正则指引》《深入Reac...

  • 构造函数与 new 命令

    JavaScript 语言具有很强的面向对象编程能力,本章介绍 JavaScript 如何进行面向对象编程。 对象...

  • 《JavaScript 面向对象编程指南》第4章 对象练习题

    《JavaScript 面向对象编程指南》中第4章,章节练习题4: 在String( )构造器不存在的情况下自定义...

  • 构造函数和原型对象

    javascript使用构造函数和原型对象来进行面向对象编程 构造函数 在 JavaScript 中,构造器其实就...

  • Javascript面向对象编程

    阮一峰文档备忘 Javascript 面向对象编程(一):介绍封装 Javascript 面向对象编程(二):介绍...

  • JS创建对象方案(一)

    5.1 JavaScript的面向对象 JavaScript其实支持多种编程范式的,包括函数式编程和面向对象编程:...

  • 原型链的理解

    在看《JavaScript面向对象编程指南》的第六章中的继承,引深了思考对prototype和new的思考。以下内...

  • JavaScript学习笔记(一)

    Javascript面向对象 1. 面向对象编程介绍 1.1 两大编程思想 面向过程 & 面向对象 1.2 面向过...

  • JavaScript学习

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

网友评论

    本文标题:Javascript面向对象编程指南(六)——迭代器

    本文链接:https://www.haomeiwen.com/subject/etlxwttx.html