📜  对象模型 javascript (1)

📅  最后修改于: 2023-12-03 14:53:40.557000             🧑  作者: Mango

对象模型 Javascript

Javascript 是一种面向对象的语言,它拥有强大的对象模型。在 Javascript 中,一切皆对象,大多数开发工作都是基于对象进行的。

对象

对象是 Javascript 中的基本单位,它由属性和方法组成。属性是对象的状态,方法是对象的行为。

// 定义一个对象
const car = {
  make: 'Ford',
  model: 'Mustang',
  year: '2022',
  start: function() {
    console.log('Starting the car');
  },
  stop: function() {
    console.log('Stopping the car');
  }
};

// 访问对象的属性和方法
console.log(car.make); // 输出 'Ford'
car.start(); // 输出 'Starting the car'
构造函数

构造函数是一种特殊的函数,它被用来创建一个对象类。在 Javascript 中,常用的构造函数有 Array、Object、Date 等。

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
  
  this.sayHello = function() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

// 使用构造函数创建对象
const person1 = new Person('Alice', 25);

// 访问对象的属性和方法
console.log(person1.name); // 输出 'Alice'
person1.sayHello(); // 输出 'Hello, my name is Alice'
原型

原型是 Javascript 对象模型的核心。每个 Javascript 对象都有一个原型,它用于共享属性和方法。所有的属性和方法都可以通过原型链访问。

// 定义一个构造函数
function Rectangle(width, height) {
  this.width = width;
  this.height = height;
}

// 给构造函数的原型添加方法
Rectangle.prototype.getArea = function() {
  return this.width * this.height;
}

// 使用构造函数创建对象
const rect = new Rectangle(5, 10);

// 访问对象的属性和方法
console.log(rect.getArea()); // 输出 50
继承

继承是面向对象编程中非常重要的概念,它指的是对象可以从另一个对象继承属性和方法。Javascript 中的继承是通过原型链实现的。

// 定义一个基类
function Shape(color) {
  this.color = color;
}

Shape.prototype.getColor = function() {
  return this.color;
};

// 定义一个子类
function Circle(radius, color) {
  Shape.call(this, color);
  this.radius = radius;
}

Circle.prototype = Object.create(Shape.prototype);

// 给子类添加方法
Circle.prototype.getArea = function() {
  return Math.PI * this.radius * this.radius;
}

// 使用子类创建对象
const circle = new Circle(5, 'red');

// 访问对象的属性和方法
console.log(circle.getColor()); // 输出 'red'
console.log(circle.getArea()); // 输出 78.53981633974483

以上就是 Javascript 对象模型的介绍,希望对你有所帮助。