码迷,mamicode.com
首页 > 其他好文 > 详细

for..of与for..in

时间:2018-02-23 18:59:59      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:名称   undefined   array   col   efi   length   div   问题   console   

var arr=[1,2,3,5]
undefined
for(var m of arr)
    console.log(m)//1,2,3,5

for(var m in arr)
    console.log(m)//0,1,2,3

for...in由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array数组也是一个对象,数组中的每个元素的索引被视为属性名称,所以我们可以看到使用for...in循环Array数组时,拿到的其实是每个元素的索引。

arr.name=‘abc‘
"abc"
for(var m in arr)
    console.log(m)//0,1,2,3,name

如上所示,当我们为a多手动添加一个属性name的时候,for...in循环会把name属性也包括在内,而Array的length属性却不包括在内。

for...of循环则不存在上述的问题,它只循环集合本身的元素。这就是为什么引入for...of循环。

for..of与for..in

标签:名称   undefined   array   col   efi   length   div   问题   console   

原文地址:https://www.cnblogs.com/yiyi17/p/8462570.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!