10.28-------迭代器

1.迭代:
按照顺序反复多次执行一段代码。会在一个有序集合上进行,例:数组。
实现Iterable接口:
(1)字符串
(2)数组
(3)映射
(4)集合
(5)arguments对象
(6)NodeList和DOM集合类型

2.默认迭代器:
暴露一个属性,且这个属性必须使用特殊的Symbol.iterator作为键。
let str = ‘abc’;
str[Symbol.iterator] //返回迭代器工厂函数
str[Symbol.iterator] ()//调用工厂函数会生成一个迭代器

3.接受可迭代的对象的原生语言包括:
(1)for - of
(2)数组解构
(3)扩展操作符
(4)Array.from()
(5)创建集合
(6)创建映射
这些原生语言结构会在后台调用工厂函数,从而创建一个迭代器,不需要显示调用。
4.迭代器API的next方法,可知道迭代器的下一个位置。
返回一个IteratorResult对象,{
done:false//可迭代下一个对象,true,不可迭代下一个对象
value:可迭代对象的下一个位置
}
5.迭代器对象在迭代期间修改了,迭代器也会反应相应的变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值