js中事件方法的劫持和apply的用法

       我们在实际开发中经常遇到这种情况,如使用了第三方的插件,同时又要对插件的源码做一些修改满足自己的应用场景要求,而过了一段时间这个第三方的插件更新升级了。我们也想升级到最新版本,那么问题来了。

      直接覆盖容易把容易自己修改的代码覆盖,找出自己修改的地方也麻烦,这时利用js的apply方法在不修改第三方源代码的情况下,新增自己的功能,代码如下:

 (function(){
  //工作
  var work={
     obj:"小书童在写",
    //写代码
    coding:function(lang){
      //显示在干嘛
      alert(work.obj+lang);
    }
    
  }
  window.work=work;
  })();
  
  

  //这时输出的是 小书童
  
  //接下来我们在coding之前 先把小书童改成丽丽
  var _coding=work.coding;
  work.coding=function(lang){
       work.obj="丽丽在写";
      _coding.apply(this,arguments);
    }
 
  
  work.coding("c#");


网址:http://www.itxst.com/detail/mqfzfayz.html