- forEach
- 定义
用于调用数组的每个元素,并将元素传递给回调函数 - 优点
遍历的时候更加简洁,效率和for循环相同,不用关心集合下标的问题,减少了出错的效率 - 缺点
1、循环问题就是break和return都不能奏效
2、不能同时遍历多个集合,在遍历的时候无法修改和删除集合数据,
- for循环
- 优点
程序简洁,结构清晰,循环初始化,循环变量化,循环体和循环条件位置突出 - 缺点
写法比较麻烦,需要定义下标,判断是否越界,下标自增操作
- for...in:循环读取键名
- 定义
用于循环遍历数组或对象属性,fot in循环里面的index是string类型的, - 优点
普通的对象,for...in循环依然可以用来遍历键名。 - 缺点
1、数组的键名是数字,但是for...in循环是以字符串作为键名“0”、“1”、“2”等等。
2、for...in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。
3、某些情况下,for...in循环会以任意顺序遍历键名。
- for...of:循环读取键值
- 定义
可遍历map,object,array,set string等 - 优点
1、有着同for...in一样的简洁语法,但是没有for...in那些缺点。
2、可以与break、continue和return配合使用
3、正确识别 32 位 UTF-16 字符 - 缺点
1、获取数组的索引,需要借助数组实例的entries方法和keys方法
2、数组的遍历器接口只返回具有数字索引的属性
3、对于普通的对象,for...of结构不能直接使用,会报错。必须部署了 Iterator 接口后才能使用
网友评论