一、什么是面向对象
JavaScript 的面向对象编程(OOP)是一种使用对象来管理代码的方式。JavaScript是一种基于原型(Prototype)的语言,但本质上还是面向对象。原型本身也是对象,可以包含属性和方法,以支持封装、继承和多态面向对象编程的核心理念。
二、具象和抽象的对比
字面量对象(面向对象的直接应用)
const person = {
name: "Alice",
age: 30,
greet: function() {
console.log("Hello, " + this.name);
}
};
person.greet(); // 输出 "Hello, Alice"
原型对象(JS底层的面向对象原理)
// 构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
// 在原型上添加 greet 方法
Person.prototype.greet = function() {
console.log("Hello, " + this.name);
};
// 创建一个实例
const alice = new Person("Alice", 30);
// 调用 greet 方法
alice.greet(); // 输出 "Hello, Alice"