for...in和for...of循环的区别
2016-10-25 17:12
288 查看
以下是使用for...in和for...of分别对Array,Set,Map做的测试:
for...in由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组也是一个对象,数组中的每个元素的索引被视为属性名称,所以我们可以看到使用for...in循环Array数组时,拿到的其实是每个元素的索引。
如上所示,当我们为a多手动添加一个属性name的时候,for...in循环会把name属性也包括在内,而Array的length属性却不包括在内。
for...of循环则不存在上述的问题,它只循环集合本身的元素。这就是为什么引入for...of循环。
for...in由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组也是一个对象,数组中的每个元素的索引被视为属性名称,所以我们可以看到使用for...in循环Array数组时,拿到的其实是每个元素的索引。
如上所示,当我们为a多手动添加一个属性name的时候,for...in循环会把name属性也包括在内,而Array的length属性却不包括在内。
for...of循环则不存在上述的问题,它只循环集合本身的元素。这就是为什么引入for...of循环。
相关文章推荐
- for ... of循环和for ... in循环的区别
- for ... of循环和for ... in循环有何区别?
- javascript 循环语句 while、do-while、for-in、for用法区别
- JavaScript里的循环方法:forEach,for-in,for-of
- for … of和for … in的区别
- javaScript循环总结(for,for-in,for-of,forEach,map,filter,every,reduce,reduceRight)
- for forEach for...in... for...of...区别
- swift for-in循环中"..."与".."的区别
- [置顶] 浅谈for,for-in,forEach,for-of几种循环
- for循环与for...in循环的区别
- JavaScript for...of与for...in的区别
- 全面解析JavaScript里的循环方法之forEach,for-in,for-of
- for...of与for...in的区别
- JavaScript里的循环方法:forEach,for-in,for-of
- JavaScript中forEach、for-in、for-of循环的比较
- javascript 循环语句 while、do-while、for-in、for用法区别
- JavaScript里的循环方法:forEach,for-in,for-of
- javascript 循环语句 while、do-while、for-in、for用法区别
- for..in,for..of和forEach的区别
- 全面解析JavaScript里的循环方法之forEach,for-in,for-of