JavaScript中不能创建一个类的多个实例,只能创建多个对象,它们[[Prototype]]关联的是同一个对象。在默认情况下并不会进行复制,因此这些对象之间并不会完全失去联系,它们是互相关联的。
创建对象后,再创建一个它的原型对象(相当于复制了一个原型对象),再赋给对象的prototype,这样就不会所有对象都共享同一个原型对象了。
var Model = function() { // 创建一个新对象 var object = Object.create(this); object.parent = this; // 创建(复制)原型对象,并赋给新对象的prototype object.prototype = object.fn = Object.create(this.prototype); return object; }