JS prototype[@@iterator]()

🌙
手机阅读
本文目录结构

@@iterator 的初始值是和 values 属性的初始值相同的对象。

语法

arr[Symbol.iterator]()

返回值

数组的 迭代器 函数,通常是 values()函数。

示例

使用for...of 循环的迭代

var arr = new Uint8Array([10, 20, 30, 40, 50]);
// 你的浏览器必须支持 for..of 循环
// 以及 for 循环中的 let 区域变量
for (let n of arr) {
  console.log(n);
}

备选迭代

var arr = new Uint8Array([10, 20, 30, 40, 50]);
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // 10
console.log(eArr.next().value); // 20
console.log(eArr.next().value); // 30
console.log(eArr.next().value); // 40
console.log(eArr.next().value); // 50

规范

Specification Status Comment
[ECMAScript 2015 (6th Edition, ECMA-262)
%TypedArray%.prototype[@@iterator]()](https://www.ecma-international.org/ecma-262/6.0/#sec-%typedarray%.prototype-@@iterator) Standard 初始定义。
[ECMAScript Latest Draft (ECMA-262)
%TypedArray%.prototype[@@iterator]()](https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator) Draft  

浏览器兼容性

We’re converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven’t yet converted the data it contains.

  • Desktop
  • Mobile
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 36 (36) [1] 未实现 未实现 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 (Yes) 36.0 (36) [1] 未实现 未实现 未实现

[1] 从 Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) 到 Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) 使用 iterator 属性 (bug 907077),从 Gecko 27 到 Gecko 35 使用"@@iterator" 占位符。 在 Gecko 36 (Firefox 36 / Thunderbird 36 / SeaMonkey 2.33)中,@@iterator [Symbol] 予以实现(bug 918828)。

See also

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了