IT不死旗下博客隆重开通啦,欢迎各位小伙伴们来围观 。

javascript实现after和before函数

Javascript Xueqi 1199℃ 0评论

我时候我们在执行一个函数前或者是执行某个函数后需要做一些事情,这时候,这些函数就有用了

主要用到函数的aplly调用

//在某个函数执行后执行的一个方法
Function.prototype.after=function(afterFn){
  var _self=this; //保存当前函数的引用
  return function(){
    var ret=_self.apply(this,arguments);
    afterFn.apply(this,arguments);
    return ret;//返回原函数执行后的返回值
  };
}
//在函数执行前执行的一个方法
Function.prototype.before=function(beforeFn){
   var _self=this;
  return function(){
    //执行先行函数
    beforeFn.apply(this,arguments);
    var ret=_self.apply(this,arguments);
    return ret;//返回原函数执行后的返回值
};
}
//  测试方法:

function sayHi(str){
   alert("我是sayHi");
   return "111";
}

var res=sayHi.after(function(){alert("我是后面函数");})();   // 先弹出'我是sayHi', 后弹出 ‘我是后面函数’
var res=sayHi.before(function(){alert("我是先行方法");})()  //// 先弹出'我是先行方法', 后弹出‘我是sayHi’
alert(res); // "111" 


转载请注明:凌风阁 » javascript实现after和before函数

喜欢 (9)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址