JavaScript 中的原型对象是一种特殊对象,包含可被其他对象继承的方法和属性。其作用包括属性和方法继承、代码重用、增强灵活性以及性能优化。可通过函数原型或基于对象的原型创建原型对象,子对象通过 proto 属性访问其原型对象。

什么是 JavaScript 中的原型对象?
JavaScript 中的原型对象是一个特殊的对象,它存储着其他对象所继承的属性和方法。它是所有 JavaScript 对象的基石,允许对象共享功能和数据。
作用
- 属性和方法继承:子对象可以继承原型对象中的所有属性和方法,即使它们在子对象中没有显式定义。
- 代码重用:通过将公共属性和方法从子对象移到原型对象,可以实现代码重用。
- 灵活性:原型对象允许在不修改子对象的情况下动态地添加或修改属性和方法。
- 性能优化:由于属性和方法存储在原型对象中,因此它们在内存中只存在一份副本,从而提高了性能。
创建原型对象
JavaScript 中有两种创建原型对象的方法:
-
基于函数的原型对象:使用
prototype属性将原型对象附加到构造函数上。 - 基于对象的原型对象:直接创建一个对象,然后将其指定为另一个对象的原型。
访问原型对象
子对象可以通过 __proto__ 属性访问其原型对象。
例子
以下示例说明如何使用原型对象:
// 函数原型对象
function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log(`Hello, my name is ${this.name}`);
};
// 使用函数原型对象创建子对象
const john = new Person('John');
// 访问原型对象
console.log(john.__proto__); // 输出 Person.prototype 对象
// 调用原型方法
john.sayHello(); // 输出 "Hello, my name is John"










