天天看點

ES6 疊代器

<script>
    // 聲明一個數組
    const xiyou=['唐僧','孫悟空','豬八戒','沙僧']
    // for  of 循環周遊數組,i取到的是數組元素的值
    // for (let i of xiyou){
    //     console.log(i);
    // }
    // for  in 循環周遊數組,i取到的是數組元素的下标
    // for (let i in xiyou){
    //     console.log(i);
    // }
    let iterator=xiyou[Symbol.iterator]();
    console.log(iterator.next());
    console.log(iterator.next());
    console.log(iterator.next());
    console.log(iterator.next());
    console.log(iterator.next());
   // 工作原理:
   //  建立一個指針對象,指向目前資料結構的起始位置
   //  第一次調用對象的next方法,指針自動指向資料結的第一個成員
   //  接下來不斷調用next方法,指針一直往後移,直到指向最後一個成員,
   //  每調用一個next方法傳回一個包含value和done屬性的對象
   //  注:需要自定義周遊資料的時候,要想到疊代器.
</script>

           
ES6 疊代器
es6