原型链

关于原型相关知识整理:

构造函数,实例对象,原型对象

 

__proto__的来历;

 

       

实例对象的__proto__指向他的构造函数的prototype;

        构造函数的__proto__指向Function的prototype;

        Function的__proto__指向Function的prototype;

2.prototype的来历(重点)

 

        a.自定义和内置对象

            I.实例对象的__proto__指向他的构造函数的prototype;

            II.构造函数的prototype指向Object的prototype;

            III.Object的prototype指向null;

        b.函数

              I.函数的__proto__指向他的构造函数(Function)的prototype;

              II.Function的prototype指向Object的prototype;

              III.Object的prototype指向null;

超级复杂图:

 

面试中相关原型问题:

1:说一说你对原型的理解:

        1.函数:有prototype和__proto__两个属性;

            对象:只有__proto__属性;

        2.对象实例的原型-->构造函数原型-->Object的原型-->null;

        3.JS中函数也是一种对象;

   2:prototype的作用:

        0.拓展自定义对象和内置对象的功能;

        1.给构造函数的prototype添加属性和方法,所有实例对象都可以使;(实例对象)

        2.给构造函数的prototype重新赋值为另一个构造函数的实例,用于继承;(构造函数本身)

原文地址:https://www.cnblogs.com/sunqq/p/7551621.html