寄生式繼承
阿新 • • 發佈:2018-07-08
object person eat class true another 這一 proto 寄生式繼承
實例1:
function creatAnother(original){ var clone = new Object(original); clone.say = function(){ console.log(this.name); } return clone; } var person1 = { name:‘zhangsan‘, friends:[‘jim‘,‘tom‘,‘van‘] }; var person2 = { name:‘lisi‘, friends:[‘klkx‘,‘qu‘,‘you‘] }; var p1 = creatAnother( person1 ); var p2 = creatAnother( person2 ); p1.say(); p2.say(); console.log(p1.__proto__ === p2.__proto__);//true console.log(p1.__proto__); console.log(p2.__proto__);
使用寄生式繼承來為對象添加函數,會由於不能做到函數服用而減低效率;這一點與構造函數模式類似;
object();只要傳進去的是一個對象,就會返回相同的引用
寄生式繼承