什么面向切面开发
index.html
aop.js
function test(){
alert(2);
return "me test";
};
Function.prototype.before = function (fn){
var __self= this;
return function (){
if (fn.apply(this.arguments)==false){
return false;
}
return __self.apply(__self,arguments);
}
};
Function.prototype.after= function (fn){
// after 先执行本身this, 再执行回调
var __self = this;
return function (){
var result = __self.apply(__self,arguments);
if(result ==false){
return false;
};
fn.apply(this,arguments);
return result;
}
};
test.after(function () {
alert(3);
}).before(function(){
alert(1);
})();
}