js for in 与 for of
时间: 2024-04-10 11:23:36 浏览: 74
深入解读JavaScript中的Iterator和for-of循环
当使用JavaScript编程时,我们经常需要遍历数组或对象中的元素。在这种情况下,可以使用`for...in`和`for...of`循环来实现遍历。
`for...in`循环用于遍历对象的可枚举属性。它会迭代对象的所有可枚举属性,包括继承的属性。语法如下:
```javascript
for (variable in object) {
// code to be executed
}
```
其中,`variable`是一个变量,用于存储每次迭代中的属性名。`object`是要遍历的对象。
下面是一个使用`for...in`循环遍历对象的示例:
```javascript
const person = {
name: 'John',
age: 30,
gender: 'male'
};
for (let key in person) {
console.log(key + ': ' + person[key]);
}
```
输出结果为:
```
name: John
age: 30
gender: male
```
`for...of`循环用于遍历可迭代对象(如数组、字符串、Set、Map等)。它会迭代对象的每个元素,而不包括对象的属性。语法如下:
```javascript
for (variable of iterable) {
// code to be executed
}
```
其中,`variable`是一个变量,用于存储每次迭代中的元素值。`iterable`是要遍历的可迭代对象。
下面是一个使用`for...of`循环遍历数组的示例:
```javascript
const numbers = [1, 2, 3, 4, 5];
for (let number of numbers) {
console.log(number);
}
```
输出结果为:
```
1
2
3
4
5
```
需要注意的是,`for...of`循环只能用于可迭代对象,而不能用于普通的对象。如果要遍历普通对象的属性,仍然需要使用`for...in`循环。
阅读全文