该图再次显示每个对象都有一个原型。构造函数函数foo也有自己的__proto__哪个是函数。原型,然后又通过其引用__proto__再次属性到object.protype。因此,重复,foo.protype只是foo的明确属性,它是指B和C对象的原型。

var b = new Foo(20);
var c = new Foo(30);

有什么区别__proto__prototype

enter image description here

这个数字取自dmitrysoshnikov.com

注意:现在有第二版(2017年)到上述2010年文章。

答案

__proto__是查找链中用于解决方法的实际对象,等等。prototype是用于构建的对象__proto__当您创建一个对象时new

( new Foo ).__proto__ === Foo.prototype
( new Foo ).prototype === undefined

来自: stackoverflow.com