diff --git a/docs/iterator.md b/docs/iterator.md index 3b47b83..9f4bcd6 100644 --- a/docs/iterator.md +++ b/docs/iterator.md @@ -29,15 +29,15 @@ it.next() // { value: "a", done: false } it.next() // { value: "b", done: false } it.next() // { value: undefined, done: true } -function makeIterator(array){ +function makeIterator(array) { var nextIndex = 0; return { - next: function(){ + next: function() { return nextIndex < array.length ? {value: array[nextIndex++], done: false} : {value: undefined, done: true}; } - } + }; } ``` @@ -52,15 +52,15 @@ function makeIterator(array){ 对于遍历器对象来说,`done: false`和`value: undefined`属性都是可以省略的,因此上面的`makeIterator`函数可以简写成下面的形式。 ```javascript -function makeIterator(array){ +function makeIterator(array) { var nextIndex = 0; return { - next: function(){ + next: function() { return nextIndex < array.length ? {value: array[nextIndex++]} : {done: true}; } - } + }; } ``` @@ -74,14 +74,14 @@ it.next().value // '1' it.next().value // '2' // ... -function idMaker(){ +function idMaker() { var index = 0; return { - next: function(){ + next: function() { return {value: index++, done: false}; } - } + }; } ``` @@ -166,31 +166,31 @@ for (var value of range(0, 3)) { 下面是通过遍历器实现指针结构的例子。 ```javascript -function Obj(value){ +function Obj(value) { this.value = value; this.next = null; } -Obj.prototype[Symbol.iterator] = function(){ +Obj.prototype[Symbol.iterator] = function() { var iterator = { next: next }; var current = this; - function next(){ - if (current){ + function next() { + if (current) { var value = current.value; var done = current.next === null; current = current.next; return { done: done, value: value - } + }; } else { return { done: true - } + }; } } return iterator; @@ -204,7 +204,7 @@ one.next = two; two.next = three; for (var i of one){ - console.log(i) + console.log(i); } // 1 // 2