什么是原型?
object.prototype 就是原型,它是一个对象,我们也称它为原型对象。
什么是原型链?
原型与原型层层相链接的过程即为原型链。
原型的作用是什么?
原型的作用,就是共享方法。
我们通过 Father.prototype.method
可以共享方法,不会反应开辟空间存储方法
原型中this的指向是什么?
原型中this的指向是实例。
原型链应用
对象可以使用构造函数prototype原型对象的属性和方法,就是因为每个对象都有__proto__原型的存在
原型查找方式
(1)首先看obj对象身上是否有这个方法,如果有,则执行对象身上的方法。
(2)如果没有这个方法,就去构造函数原型对象prototype身上去查找这个方法。
(3)如果再没有这个方法,就去Object原型对象prototype身上去查找这个方法。
(4)如果再没有,则会报错。
原型的构造器
原型的构造器指向构造函数。
在原型上添加方法需要注意的地方
1在原型对象上直接添加方法,此时的原型对象是有constructor
构造器的,构造器指向构造函数本身
2 给原型重新赋值,此时会丢失构造器,我们需要手动定义构造器,指回构造函数本身