面向对象原型链小结

Posted 丶小馨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象原型链小结相关的知识,希望对你有一定的参考价值。

 

构造函数:
*)构造函数就是初始化对象的函数(给刚创建的对象赋值属性等)。
*)构造函数就是普通函数,内部的this指向window;
只有实例化对象后才被称为构造函数,内部的this指向实例。
*)若构造函数内部存在返回值,且返回值的数据类型为值类型,那么调用这个函数时返回这个实例;
若构造函数内部返回值的数据类型为引用类型,那么调用这个函数时返回复杂数据。
*)若构造函数在调用时没有传参,则构造函数的小括号可以省略。
*)访问原型的方式:构造函数.prototype => 原型。
*)Function是所有构造函数的构造函数。

原型对象:
*)一个函数中就会有prototype属性,这个属性指向一个对象,这个对象就称作原型对象。
*)原型就是构造函数的prototype值。
*)把公有的方法放在原型上来实现资源共享,所有实例都可以访问这个公有方法。
*)原型中的constructor属性指向了构造函数本身。eg:fn.prototype.constructor === fn;
*)Object.prototype => null 是原型链的最顶端。

实例:
*)实例化:通过构造函数创建(new)对象的过程;
实例:实例化出来的对象,称作构造函数的一个实例。
*)访问原型方式:实例.__proto__ => 原型。(.__proto__这个属性是非标准化属性,不推荐使用);
*)Function是Function的实例。

结论:
*)Function.prototype是原型对象,Function就继承自该原型对象。
*)Function instanceof Function 为真;
*)Function instanceof Object 为真;
*)Object instanceof Function 为真;

以上是关于面向对象原型链小结的主要内容,如果未能解决你的问题,请参考以下文章

js面向对象小结(工厂模式,构造函数,原型方法,继承)

面向对象(2 )构造函数 原型 原型链的理解

面向对象中的原型和原型链

js面向对象编程/原型链/继承 —— javascript

原型对象原型链--js面向对象

JavaScript面向对象