当前位置 : 主页 > 网络编程 > JavaScript >

js 装饰器模式

来源:互联网 收集:自由互联 发布时间:2021-06-28
用AOP装饰函数实现装饰者模式 Function.prototype.before = function(beforeFn) { var self = this; return function() { beforeFn.apply(this, arguments); return self.apply(this, arguments); }; };Function.prototype.after = function(afte
用AOP装饰函数实现装饰者模式
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(a) {
  console.log("2");
  return a;
};

var func1 = function() {
  console.log("1");
};

var func3 = function() {
  console.log("3");
};

var r = func.before(func1).after(func3)(99);
console.info(r);
网友评论