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()过滤原型链