javascript--原型链

prototype属性:每个类都有一个静态属性,他标识了一个对象,称为原型对象。其中原型对象中包含了该类的基类。

原型对象是 当你定义一个类就自动生成的对象。原型对象声明了很多内部属性来描述类的特性。其中有Prototype 和class.

内部属性:

Prototype属性:表示该类的父类的原型对象。

Class:表示类的名称

eg:

Array类的 原型

{

  Prototype:Object原型对象;

  Class:"Array"

 }

内部属性本身是不允许在javascript中访问,但是通过属性_proto_可以访问到类中定义的原型对象中的内部属性[Prototype]的值。

Array.prototype._proto_===Object.prototype

(1)对类的原型对象,使用_proto_属性时,访问的是父类的原型。

(2)对类的实例,使用_proto_属性时,访问的是当前实例所表示的类的原型

prototype的作用是用来实现继承:child.protype=new people();(类的实例中也包含了对自身原型对象的引用)

prototype:是一个静态属性,

_proto_:是一个实例属性,表示原型对象中定义的内部属性prototype的值。 每个实例都有个_proto_ 用于引用创建他的构造方法的prototype属性。

isPrototypeOf()看一个属性是不是在指定对象的原型链中

hasOwnProperty()过滤原型链

原文地址:https://www.cnblogs.com/xuruweb/p/4117089.html