该图再次显示每个对象都有一个原型.构造函数Foo也有自己
__proto__
的Function.prototype,它又通过其__proto__
属性再次引用到Object.prototype.因此,重复,Foo.prototype只是Foo的一个显式属性,它指的是b和c对象的原型.
var b = new Foo(20);
var c = new Foo(30);
Run Code Online (Sandbox Code Playgroud)
__proto__
和prototype
属性有什么区别?
这个数字来自这里.
javascript prototype prototypal-inheritance javascript-objects
我在很多Node.js库中看到了这种模式:
Master.prototype.__proto__ = EventEmitter.prototype;
Run Code Online (Sandbox Code Playgroud)
(来源这里)
有人可以用一个例子向我解释,为什么这是一个如此常见的模式,什么时候它很方便?