在 JavaScript 中实现面向对象编程主要有以下几种方式:
- 构造函数:使用构造函数实现类和对象的概念。
function Person(name, age) {
this.name = name;
this.age = age;
}
let p = new Person('Jack', 18);
- 原型:使用原型继承和方法。
function Person() {}
Person.prototype.name = 'Jack';
Person.prototype.age = 18;
Person.prototype.sayName = function() {
console.log(this.name);
}
let p = new Person();
p.sayName(); // Jack
- 组合使用构造函数和原型:构造函数定义实例属性,原型定义方法和共享属性。这是 JavaScript 中最常用的面向对象模式。
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.sayName = function() {
console.log(this.name);
}
let p = new Person('Jack', 18);
p.sayName();
- ES6 中的 Class:ES6 提供了更接近传统语言的类的概念。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
sayName() {
console.log(this.name);
}
}
let p = new Person('Jack', 18);
p.sayName();
所以,总结来说 JavaScript 中实现面向对象编程的主要方式有:
- 构造函数:创建类和对象
- 原型:继承和方法
- 构造函数+原型:最常用模式
- ES6 Class:标准的面向对象方式