JavaScript 原型链是一种实现对象间继承的机制。每个对象都有一个指向其原型的内部链接。当试图访问一个对象的属性时,如果该对象内部不存在这个属性,那么 JavaScript 引擎会沿着原型链向上查找,直到找到属性或到达原型链的顶端(null
)。
要实现原型链,你需要遵循以下步骤:
- 创建构造函数:构造函数用于创建对象实例,并设置实例的初始属性。在构造函数的原型上定义共享属性和方法,这样所有实例都可以访问这些共享资源。
function Person(name, age) { this.name = name; this.age = age; }
- 在原型上添加属性和方法:在构造函数的原型对象(
prototype
)上定义属性和方法,这样所有实例都可以访问这些共享资源。
Person.prototype.sayHello = function() { console.log('Hello, my name is ' + this.name); };
- 创建实例:使用构造函数创建对象实例,这些实例会继承构造函数原型上的属性和方法。
const person1 = new Person('Alice', 30); const person2 = new Person('Bob', 25);
- 访问原型链上的属性和方法:实例可以通过
this
关键字访问原型链上的属性和方法。
person1.sayHello(); // 输出 "Hello, my name is Alice"
通过这种方式,JavaScript 原型链实现了对象间的继承和资源共享。