zoukankan      html  css  js  c++  java
  • iterator(2)

     1 var it = makeIterator(['a', 'b']);
     2 
     3 it.next() // { value: "a", done: false }
     4 it.next() // { value: "b", done: false }
     5 it.next() // { value: undefined, done: true }
     6 
     7 function makeIterator(array) {
     8   var nextIndex = 0;
     9   return {
    10     next: function() {
    11       return nextIndex < array.length ?
    12         {value: array[nextIndex++], done: false} :
    13         {value: undefined, done: true};
    14     }
    15   };
    16 }

    makeIterator函数

    参数:数组

    处理:
    返回:对象

    该对象如下:

    1 {
    2     next: function() {
    3       return nextIndex < array.length ?
    4         {value: array[nextIndex++], done: false} :
    5         {value: undefined, done: true};
    6     }
    7   };

    此对象叫做指针对象。

    指针对象包含一个属性,属性名是next,属性值是函数。

    简称为next函数,该函数如上所示:
    返回一个对象。叫元素对象吧。

    元素对象包含两个属性:value和done。

    如果调用next方法,it.next(),这个()代表调用。

    就返回元素对象。

    所以饶了这么一大圈还是要返回元素对象。

    给makeIterator函数传入数组,它会返回一个指针对象it。

    it中有个方法叫next。

    既然是方法就可以被调用,it.next()。

    被调用后返回元素对象。{value : "a",done : false}

  • 相关阅读:
    CSS书写规范参考
    CSS实现垂直居中的5种方法
    HTML5新标签
    sublime win10下中文输入框自动跟随解决
    变量更改值
    查看文件
    list copy
    Tomcat JAR包冲突报错
    第一周单元3:Requests库网络爬虫实例-查询ip地址
    .strip()的喵用!
  • 原文地址:https://www.cnblogs.com/flyover/p/14133353.html
Copyright © 2011-2022 走看看