prototype和原型是两回事,他只是Foo上预设的属性。原型是对象指向Foo上的属性。那么我们可以通过原型赋值的方法制作共享变量或方法,如上边的x赋值一样。
方法解析:
1、Object.create()
方法创建一个拥有指定原型和若干个指定属性的空对象;
如Student.prototype=Object.create(Persion.prototype);
好处是:不用让Student的实例的__proto__也具有那些不必要的方法
Student可以定义和Persion一样的方法,那样相当于重写了Persion中的方法
实例:
解析图
prototype属性值的修改对创建对象前后的影响
1、属性值的修改对一创建对象的影响
![](https://note.wiz.cn/api/document/files/unzip/ff082d3e-02bc-48f6-90b7-330eaa96ea49/af676f9e-32ba-42a5-b2fe-b01f000dff3a.3140/index_files/13361565.png)
2、对以后创建的对象
判断该属性是否再改对象中
![](https://note.wiz.cn/api/document/files/unzip/ff082d3e-02bc-48f6-90b7-330eaa96ea49/af676f9e-32ba-42a5-b2fe-b01f000dff3a.3140/index_files/1025227.png)