📌  相关文章
📜  类的每个元素的 javascrip - Javascript (1)

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

类的每个元素的 JavaScript

在 JavaScript 中,类用于创建对象的蓝图。类中包含属性和方法,可以通过实例化类来创建对象。

类的定义

使用 class 关键字来定义一个类,类名的首字母通常大写。类的花括号内包含属性和方法的定义。

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

  greeting() {
    console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old`);
  }
}

上面的代码定义了一个名为 Person 的类,包含 nameage 两个属性,以及 greeting 方法用于输出问候语。constructor 方法是类的构造函数,用于创建对象时初始化属性。

类的实例化

要创建类的实例,使用 new 关键字并传入合适的参数来调用类的构造函数。

const john = new Person('John', 30);

john.greeting();  // 输出 "Hello, my name is John and I'm 30 years old"

上面的代码创建了一个名为 johnPerson 实例,并调用了其 greeting 方法。

类的属性

类中声明的属性可以在构造函数中初始化,也可以在类的其他方法中访问和修改。

class Rectangle {
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  getArea() {
    return this.width * this.height;
  }

  get perimeter() {
    return 2 * (this.width + this.height);
  }

  set perimeter(value) {
    const factor = value / (2 * (this.width + this.height));
    this.width *= factor;
    this.height *= factor;
  }
}

const rect = new Rectangle(10, 5);

console.log(rect.width);   // 输出 10
console.log(rect.getArea());   // 输出 50

rect.perimeter = 30;
console.log(rect.width);   // 输出 15
console.log(rect.height);  // 输出 7.5
console.log(rect.perimeter);  // 输出 30

上面的代码定义了一个名为 Rectangle 的类,包含 widthheight 两个属性,以及 getAreaperimeter 方法。getArea 方法计算矩形的面积,perimeter 属性和设置器用于计算和修改矩形的周长。

类的方法

类中可以定义多个方法,方法和普通函数的定义方式相同。

class Car {
  constructor(make, model, year) {
    this.make = make;
    this.model = model;
    this.year = year;
    this.speed = 0;
  }

  accelerate() {
    this.speed += 10;
  }

  brake() {
    this.speed -= 10;
  }

  getSpeed() {
    return this.speed;
  }
}

const myCar = new Car('Toyota', 'Corolla', 2020);

myCar.accelerate();
console.log(myCar.getSpeed());   // 输出 10

myCar.brake();
console.log(myCar.getSpeed());   // 输出 0

上面的代码定义了一个名为 Car 的类,包含 makemodelyearspeed 四个属性,以及 acceleratebrakegetSpeed 三个方法。accelerate 方法加速,brake 方法减速,getSpeed 方法返回当前速度。

总结

JavaScript 中的类是一种常用的编程模式,用于封装和重用代码。类中包含属性和方法的定义,可以通过实例化类来创建对象。了解类的定义和使用方法,可以更加高效地开发 JavaScript 应用程序。