
在程序开发中,不希望某种类型天生庞大,一次承担很多责任,可以使用装饰者模型。装饰者的模式可以动态地给某个对象追加责任,不会影响从这个类中诞生其他对象。
概念
1、装饰者模式在不改变对象本身的基础上,在程序运行期间动态添加对象的方法。
2、js语言动态更改对象相当容易,可以直接更改对象和对象的某种方法,不需要使用类来实现装饰者的模式。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Function.prototype.before = function (beforefn) {
var self = this ;
return function (){
beforefn.apply( this , arguments);
return self.apply( this ,arguments);
}
}
Function.prototype.after = function (afterfn) {
var self = this ;
return function (){
var ret = self.apply( this ,arguments);
afterfn.apply( this , arguments);
return ret;
}
}
var func = function () {
console.log( '2' );
}
var func1 = function () {
console.log( '1' );
}
var func3 = function () {
console.log( '3' );
}
func = func.before(func1).after(func3);
func();
|
以上就是js装饰者模式的介绍,希望对大家有所帮助。更多js学习指路:js教程
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。