for...in
和 for...of
是 JavaScript 中用于遍历数据结构的两种不同的循环语法,
1.for...in
循环:
- 适用于遍历对象的可枚举属性。
- 循环变量是对象属性的键(key)。
- 遍历顺序不保证与属性定义的顺序一致。
- 通常用于遍历对象的属性,不建议用于遍历数组或类似数组的对象。
- 示例代码:
const obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {
console.log(key); // 输出 a, b, c
console.log(obj[key]); // 输出 1, 2, 3
}
2.for...of
循环:
- 适用于遍历可迭代对象(iterable),如数组、字符串、Set、Map 等。
- 循环变量是对象的值(value)。
- 遍历顺序与对象迭代器定义的顺序一致。
- 不可以直接用于遍历普通对象,因为普通对象不是可迭代对象。
- 示例代码:
const arr = [1, 2, 3];
for (let value of arr) {
console.log(value); // 输出 1, 2, 3
}
开发中需要根据具体的遍历需求和数据结构选择合适的循环语法。