什么是原型对象?原型对象的作用有哪些?

575 阅读1分钟

一.什么是原型对象?

任何函数在声明的时候,系统会自动帮你创建一个对象,称之为原型对象

二.原型对象的作用

原型对象可以解决js中内存浪费和变量污染的情况。

三.原型对象的三个属性

构造函数、原型对象和实例对象

prototype 属于构造函数,指向对象原型(解决函数内存浪费+变量污染)

proto_ 属于实例对象,指向原型对象(让实力对象直接访问原型的成员)

constrotor 属于原型对象,指向构造函数(可以让实例对象知道自己是被哪个构造函函数创建出来的)

1.构造函数
functon Person(name,age){
   this.name = name
   this.age = age
}

2.原型对象
Person.prototype.eat = function () {
    console.log('吃东西')
}

Person.prototype.learn = function () {
    console.log('学习')
}

console.log(Person.prototype.constructor)

3.实例对象
let p1 = new Person('张三', 20)
console.log(p1)

如何验证构造函数,原型对象和实例对象三者之间的关系
console.log(p1.__proto__.constructor)  //打印结果为Person
console.log(Person.prototype === p1.__proto__)  //打印结果为true