1.构造函数
定义构造函数:
function Person(name, age) {
this.name = name;
this.age = age;
}
添加方法到原型: 你可以通过修改构造函数的prototype属性来为所有通过该构造函数创建的实例添加方法或属性。
Person.prototype.greet = function() {
console.log("Hello, my name is " + this.name);
};
2.使用ES6类
在ES6及更高版本中,你可以使用class关键字来定义类,这种方式更加接近传统面向对象编程语言。
定义类:定义一个类。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
添加方法到原型:在类的方法中,你可以直接在类体内部添加方法,这些方法会自动添加到类的原型上。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log("Hello, my name is " + this.name);
}
}
实例使用:
不论是使用构造函数还是类,你都可以这样使用这些方法:
// 使用构造函数创建实例并调用方法
const person1 = new Person("Alice", 30);
person1.greet(); // 输出: Hello, my name is Alice
// 使用类创建实例并调用方法
const person2 = new Person("Bob", 25);
person2.greet(); // 输出: Hello, my name is Bob
注意:
类在ECMAScript 6(ES6)中引入,类是构造函数和原型的语法糖,提供了一种更接近传统面向对象语言的方式来创建对象和定义方法。类定义了构造函数的模板,每个实例都会有自己的属性,但共享类中的方法。