1 function clone(object) { 2 function f(_) { 3 4 } 5 6 f.prototype = object; 7 return new f(); 8 } 9 10 var Person = { 11 name:'default name', 12 arr:['asd', '123'], 13 getName:function () { 14 return this.name; 15 } 16 } 17 18 var p1 = clone(Person); 19 var p2 = clone(Person); 20 21 console.log(p1.__proto__ === p2.__proto__);//true 说明p1跟p2共享了同一份实例
*对比类式继承,其实他们实现的方式大致相同。在下一个文章会专门讨论两者的区别。