以下是一个简单的JS原型链代码示例:
- function Person(name, age) {
- this.name = name;
- this.age = age;
- }
-
- Person.prototype.sayHello = function() {
- console.log(`Hello, I'm ${this.name} and I'm ${this.age} years old.`);
- }
-
- let person1 = new Person('Alice', 20);
-
- person1.sayHello(); // Hello, I'm Alice and I'm 20 years old.
-
- // 更改 Person 的原型,新增一个方法
- Person.prototype.sayBye = function() {
- console.log(`Bye, I'm ${this.name}.`);
- }
-
- person1.sayBye(); // Bye, I'm Alice.
在上面的代码中,首先定义了一个构造函数 Person,并在其原型上定义了一个方法 sayHello()。然后使用 new 关键字创建一个 Person 对象实例 person1,通过 person1 调用了 sayHello() 方法。
接着在 Person 构造函数的原型上新增了一个方法 sayBye()。由于 person1 的原型是 Person.prototype,因此修改原型后,person1 也可以调用到 sayBye() 方法。
这就是JS原型链的简单示例,通过原型链的机制,可以实现继承和方法的复用等功能。