可以使用 for of编译

    1. var a = [100, 200]
    2. a[Symbol.iterator] // for of遍历,类似链表
    3. const obj = {
    4. data: [100, 200],
    5. [Symbol.iterator]() {
    6. const self = this;
    7. let index = 0;
    8. return {
    9. next() {
    10. if(index < self.data.length) {
    11. return {
    12. value: self.data[index++],
    13. done: false,
    14. }
    15. }
    16. return {
    17. value: undefined,
    18. done: true,
    19. }
    20. }
    21. }
    22. }
    23. }