ログ日記

作業ログと日記とメモ

javascriptのやっつけAOP

Function.prototype.addAfter = function (callback) {
  var self = this;
  return function () {
    var res = self.apply(this, arguments);
    if (isFunction(callback)) {
      callback();
    }
    return res;
  }
}
http://d.hatena.ne.jp/brazil/20061007/1160157179


頻繁にAOPしない場合はもうちょっと簡単に。やっつけ的な実装をやってみた。

MyObj.prototype.oldMyFunc = MyObj.prototype.myFunc;
MyObj.prototype.myFunc = function(arg){
    this.oldMyFunc(arg);
    aopFunc();
}

var myObj = new MyObj();

汎用的な処理をするほどでもないが、このページだけ処理を変えたいなーというときに。
一カ所で使うだけなら引数の数も固定で。