js构造函数和原型链
以下是一个简单的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原型链的简单示例,通过原型链的机制,可以实现继承和方法的复用等功能。