【一些有趣的问题】05,for..in 与 for..of
以下语句会如何输出?
1 | let arr = [3, 5, 7]; |
for...in
- 循环一个指定的变量来循环一个对象所有可枚举的属性。JavaScript 会为每一个不同的属性执行指定的语句。
- 深入一点
for...of
- 在可迭代对象(包括 Array、Map、Set、arguments 等等)上创建了一个循环,对值的每一个独特属性调用一次迭代。
- 首先会在向访问对象请求一个迭代器对象,然后通过调用迭代器对象的 next() 方法来遍历所有返回值。
Symbol.iterator
- 为每一个对象定义了默认的迭代器。该迭代器可以被 for…of 循环使用。
- 可以通过 Symbol.iterator 来访问可迭代对象的@@iterator 属性
1
2var myArray = [1,2,3];
var it = myArray[Symbol.iterator]();
- 感谢您的赞赏
赞赏名单
由于您的支持,我才能够实现写作的价值。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自ped-Yc's Blog