篡改任意对象方法,来监视方法被调用

Posted allofalan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了篡改任意对象方法,来监视方法被调用相关的知识,希望对你有一定的参考价值。

function WatchMetod(obj, method, before, after) {
      obj[‘_‘ + method] = obj[method];
      obj[method] = function () {
        var args = [], len = arguments.length;
        while (len--) args[len] = arguments[len];
        before(args);
        var result = obj[‘_‘ + method].apply(this, args);
        after(args, result);
        return result;
      }
    }

监视任意想监视的方法,也许还能做到拦截等等,要是注入到网页,网页的数据是真的不保了,哈哈哈.

以上是关于篡改任意对象方法,来监视方法被调用的主要内容,如果未能解决你的问题,请参考以下文章

Java中synchronized和Lock的区别

为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?

使用 Python Mock 库监视内部方法调用

java中同步有几种方式啊

事件处理模式

日常小记