设置函数调用前和调用后的两个钩子函数
Function.prototype.before = function (beforefn) {
var __self = this;
return function () {
beforefn.apply(this, arguments);
return __self.apply(this, arguments);
};
};
Function.prototype.after = function (afterfn) {
var __self = this;
return function () {
var ret = __self.apply(this, arguments);
afterfn.apply(this, arguments);
return ret;
};
};
function greet () {
console.log("hello")
}
greet.before(()=> {
console.log("before")
}).after(()=> {
console.log("after")
})()