for of 和 for in
时间: 2023-10-20 22:29:24 浏览: 80
`for of`和`for in`是用于循环遍历数据结构的两种不同的语法。
`for of`循环用于遍历可迭代对象(如数组、字符串、Map、Set等),它会遍历对象的每个元素并执行相应的操作。例如:
```javascript
const arr = [1, 2, 3];
for (const element of arr) {
console.log(element);
}
```
输出结果为:
```
1
2
3
```
`for in`循环用于遍历对象的属性(包括继承的属性),它会遍历对象的每个可枚举属性并执行相应的操作。例如:
```javascript
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
console.log(key, obj[key]);
}
```
输出结果为:
```
a 1
b 2
c 3
```
需要注意的是,`for in`循环不仅会遍历对象自身的属性,还会遍历原型链上的属性。如果只想遍历对象自身的属性,可以使用`hasOwnProperty`方法进行过滤。
阅读全文