JavaScript 寄生式继承

2021/9/23 20:40:58

本文主要是介绍JavaScript 寄生式继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 寄生式继承:类似于 原型式继承,实际上就是 原型式继承 + 工厂模式,直接上代码:

function object(o) { 
 function F() {} 
 F.prototype = o; 
 return new F(); 
}

原型式继承 创建对象,用于被所有实例对象所共享,之后使用 工厂模式 给每个对象添加自身独有的属性:

function createAnother(original){ 
 let clone = object(original); // 通过调用函数创建一个新对象
 clone.sayHi = function() { // 以某种方式增强这个对象
 console.log("hi"); 
 }; 
 return clone; // 返回这个对象
}
let person = { 
 name: "Nicholas", 
 friends: ["Shelby", "Court", "Van"] 
}; 
let anotherPerson = createAnother(person); 
anotherPerson.sayHi(); // "hi"

个人感觉就是 原型式继承 给对象添加自身独有属性的操作部分挪到了一个函数内部,类似于 工厂模式,其他和 原型式继承 并无差异.

 



这篇关于JavaScript 寄生式继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程