js 原型链解密

1.对象继承

   javaScript的继承不是通过class实现的,而是通过“原型对象”(prototype)。

   1.每一个函数都有一个原型对象

    2.每一个实例对象都有一个_proto_属性

  2.原型链

  1.每一个函数都有prototype属性指向他的原型对象

   2.每一个对象都有_proto_属性指向他的原型对象

以new Date()构造函数为例讲解

    var data=new Date();

 因为:

    data是一个实例对象所以他有_proto_属性指向他的原型对象,Date是一个人构造函数所以他有prototype

    指向他的原型对象

    所以:

    data.__proto__==Date.prototype  //true

    因为:

    data.__proto__是一个对象,所有对象都有原型

     所以:

     data.__proto__.__proto__==Object.prototype  //true

     这就是原型链了 data.__proto__.__proto__,data对象继承了Date Object原型对象的属性和方法

   

原文地址:https://www.cnblogs.com/myspecialzone/p/10489573.html