基本概念如图。
如图所示类似于继承关系,Person.prototype为Person的父类祖先,他也是一个类。
Person可以直接调用他父类祖先的方法和属性。
关于继承之类的知识在C++和JAVA中也有,我也不过多记录他们相同的属性和作用。
至于为什么不直接使用对象来代替父类祖先,是因为每次 在对象上进行增删改查,对象都会再执行一次原有的对象过程,这样会造成代码耦合,使得性能下降。当这样操作多了以后会造成更大的负担。这时候父类祖先的作用就提现出来了。
原型的使用方法也可以在创建出一个类空间来放置父类祖先的内容。
父类是类似隐形存在的,即使没被定义,每一个类都会存在一个空的父类祖先。
还有一个是constructor方法用处是找到构造对象的类。
父类对象中会隐式存在一个constructor,默认指向子类对象,我们可以通过手动设定改变这个属性,使得他成为其他对象的父类。
对象建立的时候,父类对象存在的实际方式。
本身体内没有的属性经过__proto__去父类寻找。
也可以通过使用去改变父类。