/*
迭代器:
定义:迭代器是一种接口,为各种不同的数据结构提供统一的访问机制,任何数据结构只要部署iterator接口,就可以完成遍历操作。
1)es6创建了一种新的遍历循环命令--for(let n of object){},该命令依赖iterator接口的作用。
2)原生具备iterator接口的数据
array、arguments、set、map、string、typedArray、NOdeList
工作原理:
-创建指针对象,指向当前数据结构的起始位置;
-第一次调用该对象的next()方法时指向数据结构的第一个成员
-不断调用next()方法一直到指针指向最后一个成员
-每调用一次next()放回包含 value和done属性的对象(指向undefined成员时done属性为true)
*/
//声明一个含有iterator接口的数据类型--array
const arr=[1,2,3,4]
//遍历数组
for(let v of arr){
//console.log(v)
}
//将Symbol的iterator方法的引用变量赋给新的变量
const iterator=arr[Symbol.iterator]()
//调用next()方法自主遍历
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())//{value:4,done:false}
console.log(iterator.next())//{value:undefined,done:true}
es6迭代器自学笔记
最新推荐文章于 2024-08-18 10:54:05 发布