Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

ES6 @@iterator方法

  ES6中除了直接使用Generators可以得到迭代器对象外,还为字符串、数组之类的序列型数据提供了创建迭代器的方法。但这个方法比较逗,至少它的名称中包含了两个“@”符号,所以不能直接调用,只能以字符串的形式访问对象上的这个方法后才能调用。
  下面是这个方法的使用示例,由于目前只有Firefox支持,所以请使用Firefox测试 <script>
var iterator,result;

console.log("迭代遍历字符串");
iterator="abc"["@@iterator"]();
while(1){
  result=iterator.next();
  if(result.done)break;
  console.log(result.value);
};

console.log("迭代遍历数组");
iterator=["d","e","f"]["@@iterator"]();
while(1){
  result=iterator.next();
  if(result.done)break;
  console.log(result.value);
};
</script>

  迭代器对象的使用和Generators的实例用法完全相同,实际上它们本身就是同一回事,都是迭代器对象。其实我对ES6中的这些东西非常反感,它们已经把我心爱的JavaScript搞得面目全非了。但既然Firefox已经支持,我也不得不去了解这些了。嘛,我会试着喜欢上它的。。
网名:
3.80.32.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^