该图再次显示每个对象都有一个原型。构造函数Foo也具有其自己__proto__的Function.prototype,而Foo又通过其__proto__属性再次引用Object.prototype。因此,重复一遍,Foo.prototype只是Foo的显式属性,它引用b和c对象的原型。
__proto__
var b = new Foo(20); var c = new Foo(30);
__proto__和之间有什么区别prototype?
prototype
__proto__是在查找链中用于解析方法的实际对象,等等。 prototype是使用以下命令__proto__创建对象时用于构建的对象new:
new
( new Foo ).__proto__ === Foo.prototype; ( new Foo ).prototype === undefined;