| 方法 | 作用 | 备注 |
|---|---|---|
| for...in | 遍历键名 | 会遍历对象的原型链 |
| for...of | 遍历键值 | 只能用于遍历可迭代对象,不可以用于遍历普通对象 |
所以,在遍历对象时,有如下两种方法:
const obj = {
a: 1,
b: 2,
c: 3,
}
方法一:
for (const ele in obj) {
if(obj.hasOwnProperty(ele)) { // 判断是否为对象自身属性
console.log(obj[ele]);
}
}
方法二:
for(const ele of Object.keys(obj)) {
console.log(obj[ele]);
}
由于方法一会遍历到原型链,降低性能,所以推荐使用方法二。