https://www.cnblogs.com/liuruyi/p/6483526.html
参考链接这篇的forEach()和map()的遍历写的比较清楚
https://www.cnblogs.com/yangshifu/p/7377102.html
这篇写了相应特点
此处只观察原生js的方法,这里做下记录:
数组中:
- for循环遍历:遍历数组
- forEach()遍历:回调函数都支持3个参数,数组中的当前项item,当前项的索引index,原始数组本身array,无返回值,可通过index改变原数组,不能使用break语句中断循环,也不能使用return语句返回到外层函数。forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持
- map()遍历:回调函数都支持3个参数,数组中的当前项item,当前项的索引index,原始数组本身array,有返回值,返回值为新数组,不改变原数组,支持使用return语句,支持return返回值forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持
- for-of遍历:ES6中新增,它被设计用来遍历各种类数组集合,例如DOM NodeList对象、Map和Set对象,甚至字符串也行,可以正确响应break、continue和return语句
对象中:
- for-in遍历:遍历对象的key和value
- Object.keys()方法:这个是Object对象自带的方法,获取的是key的集合,返回的是一个数组
javascript原生遍历方法的建议用法:
- 用for循环遍历数组
- 用for-in遍历对象
- 用for-of遍历类数组对象(ES6)
- 用Object.keys()获取对象属性名的集合