for..in,for..of和forEach的区别
2017-11-15 21:39
405 查看
forEach
foreach遍历数组的话,使用break不能中断循环,使用return也不能返回到外层函数。for..in
使用for in 也可以遍历数组,但是会存在以下问题:1.index索引为字符串型数字,不能直接进行几何运算
2.遍历顺序有可能不是按照实际数组的内部顺序
3.使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性
所以for in更适合遍历对象,不要使用for in遍历数组。
通常用for in来遍历对象的键名
for in 可以遍历到myObject的原型方法method,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnPropery方法可以判断某属性是否是该对象的实例属性
同样可以通过ES5的Object.keys(myObject)获取对象的实例属性组成的数组,不包括原型方法和属性
for..of
for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name
4000
相关文章推荐
- for...in、for...of、forEach、map的区别
- forEach、for-in与for-of的区别
- JS中的 map, filter, some, every, forEach, for...in, for...of 用法总结
- 循环遍历总结(for/foreach/forin/forof/map/some/filter)
- JavaScript里的循环方法:forEach,for-in,for-of
- javaScript循环总结(for,for-in,for-of,forEach,map,filter,every,reduce,reduceRight)
- for...of与for...in的区别
- for ... of循环和for ... in循环的区别
- 全面解析JavaScript里的循环方法之forEach,for-in,for-of
- 菜鸟系列——forEach、map、for...in、for...of
- for … of和for … in的区别
- for...in 与for ...of的区别
- 详谈js中标准for循环与foreach(for in)的区别
- JavaScript里的循环方法:forEach,for-in,for-of
- JavaScript——ForEach语句和For…In语句的区别
- for forEach for...in... for...of...区别
- 使用for...of 优点,代替for...in,forEach和for循环
- for...in和for...of循环以及forEach方法
- JavaScript中forEach、for-in、for-of循环的比较
- js中的循环遍历数组中的元素,ES6(for-of)、ES5(forEach、for-in)、通用(for(i=0;i<length;i++))