for…in (可用于对象)
for in 拿到的是数组的索引值
注意点:
- for…in遍历出来的是字符串,不是数字
- for…in会遍历对象的枚举属性,包括自身属性以及原型链上的属性
- for…in遍历顺序是对象属性的枚举顺序,并不一定按数组的下标顺序遍历(MDN文档指出,不建议使用for…in遍历数组,特别是想按照索引顺序遍历的时候)
for…of(不可用于对象)
遍历的是属性所对应的值 (键值),能获取到数组每个元素的值
for…of 循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象、Generator 对象,以及字符串
for…of 循环可以与break、continue 和 return 配合使用,跳出循环