for in 和 for of 区别
时间: 2023-10-27 19:53:47 浏览: 34
for...in 和 for...of 是 JavaScript 中用于遍历数据结构的两种不同的循环语句。
1. for...in 循环用于遍历对象的可枚举属性。
- 语法:for (variable in object)
- object 是要迭代枚举其属性的对象
- variable 是一个变量,用于指定对象的属性名称
- 它会遍历对象自身及其原型链上所有可枚举的属性
- 适合用于遍历对象的键(属性名)
示例:
```javascript
const obj = { a: 1, b: 2, c: 3 };
for (let prop in obj) {
console.log(prop); // 输出:a, b, c
}
```
2. for...of 循环用于遍历可迭代对象(如数组、字符串、Set、Map等)的元素。
- 语法:for (variable of iterable)
- iterable 是一个可迭代对象,如数组、字符串、Set、Map等
- variable 是一个变量,用于指定当前迭代的元素值
- 它会遍历该可迭代对象的每个元素,而不关心索引或键
- 适合用于遍历数组或其他可迭代对象的值
示例:
```javascript
const arr = [1, 2, 3];
for (let element of arr) {
console.log(element); // 输出:1, 2, 3
}
```
总结:
for...in 用于遍历对象的属性,for...of 用于遍历可迭代对象的元素。它们的语法和应用场景不同,需要根据具体情况选择使用。