js装饰者模式是什么

在程序开发中,不希望某种类型天生庞大,一次承担很多责任,可以使用装饰者模型。装饰者的模式可以动态地给某个对象追加责任,不会影响从这个类中诞生其他对象。

概念

1、装饰者模式在不改变对象本身的基础上,在程序运行期间动态添加对象的方法。

2、js语言动态更改对象相当容易,可以直接更改对象和对象的某种方法,不需要使用类来实现装饰者的模式。

实例

Function.prototype.before=function(beforefn){
varself=this;//保存原函数引用
returnfunction(){//返回包含了原函数和新函数的'代理函数'
beforefn.apply(this,arguments);//执行新函数,修正this
returnself.apply(this,arguments);//执行原函数
}
}
Function.prototype.after=function(afterfn){
varself=this;
returnfunction(){
varret=self.apply(this,arguments);
afterfn.apply(this,arguments);
returnret;
}
}
varfunc=function(){
console.log('2');
}
//func1和func3为挂载函数
varfunc1=function(){
console.log('1');
}
varfunc3=function(){
console.log('3');
}
func=func.before(func1).after(func3);
func();

以上就是js装饰者模式的介绍,希望对大家有所帮助。更多js学习指路:js教程

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容