1.遍历数组
for of 遍历得到数组的每个值 ,for in 遍历得到数组的索引号
let arr = ['张','李','孙','赵'];
for(let k of arr) {
console.log(k); // 张 李 孙 赵
}
for(let k in arr) {
console.log(k); //0 1 2 3
}
2.遍历对象
for in可以遍历对象,for of 不能遍历对象,因为对象没有iterator接口
for of 只能遍历带有iterator接口的,例如Set,Map,String,Array
const obj = {name:'张',id:1}
for(let k in obj) {
console.log(k); //name id 就是把属性名返回
}
for(let k of obj) {
console.log(k); // Uncaught TypeError: obj is not iterable
}
总结:for in适合遍历对象,for of适合遍历数组。for in遍历的是数组的索引,对象的属性