你知道什么是aop吗
面向切面编程(aop)
面对处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果
无侵入的代码
    function test(argument){
        alert(2)
    }
    Function.prototype.before = function(fn){
        var _self = this;
        return function(){
            fn.apply(_self, arguments);
                _self.apply(_self, arguments);
            }
    
        fn();
        return _self.apply(this, arguments)
        }
    
    Function.prototype.after = function (fn) {
        //body  先执行本身  在执行回调
        var _self = this;
        return function(){
            _self.apply(this, arguments);
            fn.apply(this, arguments);
        }
    }
    test.before(function(){
        alert(1)
        return 'me test'
    })
    
    
    //1. test被执行了两次 
    //2. 将before和after作为中转站
    //3. 挂载self的到fn上面
最后更新于
这有帮助吗?