prototypeproto和constructor 关系

Posted Hello Lin

tags:

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

记录:

1、构造函数:如下,Foo()就是一个构造函数

function Foo(){}

2、prototype:每一个构造函数都有一个属性叫prototype,相当于一个指针,指向它的原型对象

Foo.prototype     //指向原型对象

3、constructor:每个原型对象都有一个属性叫constructor,也是一个指针,指向构造函数,从而实现了构造函数和其原型之间的双向绑定。

function Foo(){}
console.log(Foo == Foo.prototype.constructor); //true

4、__proto__ :所有对象都有一个属性叫__proto__,实例对象的__proto__指向该实例的原型对象

function Foo(){}
var foo=new Foo();
console.log(foo.__proto__ == Foo.prototype);      //true
console.log(foo.__proto__.__proto__ == Object.prototype); //true   因为 foo.__proto__.__proto__是Object的实例对象,所以它等于Object.prototype

  

 

 

以上是关于prototypeproto和constructor 关系的主要内容,如果未能解决你的问题,请参考以下文章

一张图理解prototypeproto和constructor的三角关系

prototypeproto与constructor详解

typescript TypeScript Private Constructos和Singletons

Uncaught TypeError: Cannot read properties of undefined (reading ‘Constructo

javascript面向对象

java 动态编译