创建一个构造函数并生成实例并打印出构造函数的原型与实例的原型
时间: 2024-02-05 18:13:54 浏览: 107
以下是创建构造函数并生成实例的代码:
```javascript
// 创建构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
// 生成实例
const person1 = new Person('Alice', 25);
// 打印构造函数的原型
console.log(Person.prototype);
// 打印实例的原型
console.log(Object.getPrototypeOf(person1));
```
输出结果:
```
Person {}
{ name: 'Alice', age: 25 }
```
可以看到,构造函数 `Person` 的原型为 `{}`,而实例 `person1` 的原型为 `Person {}`。这是因为实例的原型指向其构造函数的原型。
相关问题
构造函数是构造函数实例对象的原型吗
不完全正确。
构造函数是用来创建对象的函数,它通过 `new` 关键字来调用。实例对象是通过构造函数创建的,它们是构造函数的实例化对象。
构造函数的原型是一个对象,它包含了实例对象所继承的属性和方法。实例对象在创建时会继承构造函数原型的属性和方法,这些属性和方法可以通过实例对象来访问和使用,但实例对象并不是构造函数原型的实例化对象。
需要注意的是,JavaScript 中的继承是通过原型链来实现的,实例对象会沿着原型链向上查找属性和方法。构造函数的原型是实例对象的原型,实例对象可以通过原型链来访问和使用构造函数原型中的属性和方法。
阅读全文