📜  类列表上的 javascript 循环 - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:10.414000             🧑  作者: Mango

类列表上的 JavaScript 循环 - JavaScript

在 JavaScript 中,循环是一种重要的语言结构,它能够让程序员方便地遍历列表、数组和对象,实现对数据的操作。在本文中,我们将重点介绍类列表上的 JavaScript 循环,即循环遍历 JavaScript 类中的属性、方法等成员。

for...in 循环

在 JavaScript 中,for...in 循环是一种广泛使用的遍历对象属性的方法。它的语法结构为:

for (variable in object) {
   // code
}

其中 variable 表示一个变量名,用于在遍历过程中保存对象属性名;object 则表示被遍历的对象。下面是一个示例:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

let alice = new Person("Alice", 25);
let bob = new Person("Bob", 30);

for (let prop in alice) {
  console.log(prop + ": " + alice[prop]);
}

// 输出
// name: Alice
// age: 25

在示例中,我们定义了一个 Person 类,并创建了两个对象 alicebob。然后,我们使用 for...in 循环遍历了 alice 中的属性,并在控制台中输出了这些属性的名称和值。

需要注意的是,for...in 循环会遍历对象的所有可枚举属性,包括继承自其原型链的属性。因此,在使用 for...in 循环时,需要小心处理,防止遍历到不需要的属性。

for...of 循环

除了 for...in 循环,JavaScript 还提供了 for...of 循环,用于遍历类列表中的各种成员,包括数组元素、字符串、集合、映射等。其语法结构为:

for (variable of object) {
   // code
}

其中,variable 用于在遍历过程中保存每个成员的值,object 则表示被遍历的对象。下面是一个示例:

class Animal {
  constructor(name) {
    this.name = name;
  }

  makeSound() {
    console.log("...");
  }
}

class Dog extends Animal {
  makeSound() {
    console.log("Bark!");
  }
}

let dogs = [new Dog("Charlie"), new Dog("Lucy"), new Dog("Max")];

for (let dog of dogs) {
  dog.makeSound();
}

// 输出
// Bark!
// Bark!
// Bark!

在示例中,我们定义了 Animal 类和 Dog 类,并创建了一个数组 dogs,其中包含 3 个 Dog 类型的实例。然后,我们使用 for...of 循环遍历了 dogs 数组中的每个元素,并调用了其 makeSound() 方法。

需要注意的是,for...of 循环只能用于遍历可迭代对象(iterable),包括数组、字符串、集合、映射等。如果要遍历普通对象(plain object),则需要使用 for...in 循环。