var myIterableObject = {}; // Iterable对象必须定义位于theSymbol.iterator键上的方法: myIterableObject[Symbol.iterator] = function () { // 迭代器应返回一个Iterator对象 return { // Iterator对象必须实现一个方法next() next: function () { // 下一个自身必须返回IteratorResult对象 if (!this.iterated) { this.iterated= true; // IteratorResult对象具有两个属性 return { // 迭代是否完成,以及 done: false, // 当前迭代的值 value: 'One' }; } return { // 迭代完成后,仅需要done属性 done: true }; }, iterated: false }; }; for (var c of myIterableObject) { console.log(c); }
控制台输出
一