JS-原型的某些概念

prototype:构造函数拥有一个对象,称为构造函数的原型属性,可以通过 构造函数prototype进行访问。

__proto__: 构造函数所创造出的实例对象,可通过该属性访问原型对象。

constructor: 是原型下的一个属性,构造器。可认为是原型下的一个方法,指向构造函数本身。

原型继承:实例对象继承自原型的属性或方法。

原型式继承:利用修改原型链的结构(增加一个节点,删除一个节点,修改节点中的成员),来使得实例对象可以使用整体链中的所有成员。

如:Person.prototype = [ ];

//这样子就拥有了【】数组的所有方法 如 push() 方法。

混合继承:实例对象继承于原型,原型又继承于别的对象。

原型链:即构造函数里面有原型,原型里面有原型。(可认为对象有原型,原型是对象)。

 ****凡是使用构造函数创建出来的对象,并且没有修改其原型属性就说该对象保留默认的原型链。

function  Person()   { };

        var p = new Person();

        //原型链结构如下

       p  --> person.prototype --> object.prototype --> null;

原型链结构:

静态成员:即构造函数自身带来的属性与方法。

实例成员:后天人动态地为对象添加的属性或者方法。(可由实例对象直接访问到的属性或者方法)

注:个人学习笔记

原文地址:https://www.cnblogs.com/xixiaijunjun/p/10052501.html