for...of :
- 循环用来遍历数组
- 会遍历获取对象的 键值 value;
- 只遍历当前对象;
- 返回数组下标对应的属性值
对于外界给其作为对象而添加的属性值则不会输出(这里name的4没有输出)
for(let value of p){ // 会遍历获取对象的键值
console.log(value);
}
⚪ for...in :
- 适用于遍历对象而产生的,不适用于遍历数组。
- 获取对象的 键名 key;
- 会遍历整个对象的原型链;
- 返回数组中所有可枚举的属性;
这里之所以输出name,是因为for-in本身遍历的是属性名,而数组本身是一个对象,属性名即下标,所以输出的都是下标,也自然输出了一个属性名name