介绍
mixin模式就是一些提供能够被一个或者一组子类简单继承功能的类,意在重用其功能。在面向对象的语言中,我们会通过接口继承的方式来实现功能的复用。但是在javascript中,我们没办法通过接口继承的方式,但是我们可以通过javascript特有的原型链属性,将功能引用复制到原型链上,达到功能的注入。
代码实现
function Mixin(recClass, giveClass) {
if (arguments.length > 2) {
for (let i = 2; i < arguments.length; i++) {
recClass.prototype[arguments[i]] = giveClass.prototype[arguments[i]];
}
} else {
for (let property in giveClass.prototype) {
recClass.prototype[property] = giveClass.prototype[property