脚本宝典收集整理的这篇文章主要介绍了es6学习笔记-自己动手实现迭代器,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
如果你了解过ES6,那么你应该对for...of比较熟悉了,但是你知道for...of背后的原理是什么么吗?
for...of首先调用集合的[Symbol.ITerator]()方法,紧接着返回一个新的迭代器对象。迭代器对象可以是任意具有.next()方法的对象;for ...of循环将重复调用这个方法,每次循环调用一次。举个例子,下面是最简单的迭代器:
VAR zerosForeverIterator={
[Symbol.iterator]:function(){
return this;
},
next:function(){
return {done:false,value:0};
}
}
我们可以写一个简单的for...of循环然后按照下面的方法调用重写被迭代的对象:
首先是for...of循环:
for(VAR of ITERABLE){
//一些语句
}
然后是一个使用以下方法和少许临时变量实现的与之前大致相当的示例:
var $iterator=ITERABLE[Symbol.iterator()];
var $result=$iterator.next();
while(!$result.done){
vAR=$result.value;
//一些语句
$result=$iterator.next();
}
以上是脚本宝典为你收集整理的es6学习笔记-自己动手实现迭代器全部内容,希望文章能够帮你解决es6学习笔记-自己动手实现迭代器所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。