ブックマーク / abhrsh.hatenadiary.org (1)

  • JavaScriptでAOP - にっき

    ふとJavaScriptでAOPってできるのかな?と思ったので試してみたら結構簡単にできちゃった。 単純に関数の実行前後にalartを出すだけだとこんな感じ。 function traceInterceptor(func) { return function() { alert('START'); var ret = func.apply(this, arguments); alert('END'); return ret; } } これを定義しておいて、 function add(num1, num2) { return num1 + num2; } add = traceInterceptor(add); こんなふうにすれば、最後の"add = traceInterceptor(add);"を実行したあとはaddが呼ばれるたびにalertがでるようになる。 これを改良すればデバッグ楽に

    JavaScriptでAOP - にっき
  • 1