欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

prototype和__proto__

程序员文章站 2022-05-08 16:51:01
...

当创建一个新函数时,就会为该函数创建一个prototype属性,指向函数的原型对象,所有的原型对象都会自动获取一个constructor(构造函数)属性,这个属性是一个指向prototype所在函数的指针

prototype和__proto__

function A() {}

 prototype和__proto__

prototype和__proto__

当调用构造函数创建一个实例时,该实例的内部将包含一个指针[[prototype]](内部属性),并且指向构造函数的原型对象,可以用__proto__访问

prototype和__proto__

var  a = new A();

prototype和__proto__

prototype和__proto__

可以看到a.__proto__与A.prototype相同,但是a没有prototype

总结:__proto__属性指向构造该对象的构造函数的原型对象

          只有函数(A)才有prototype属性,对象(a)没有prototype属性,并且prototype指向函数的原型对象

在附上一张niubihonghong的图

prototype和__proto__

相关标签: 原型