动态代理?可以啊,用eval可以试着做个lz想要的函数

解决方案 »

  1.   

    this?
    <input id=bt1 type="button" value="开始" onclick="javascript:Alert()" /><script language="javascript">
    <!--
    onload=function(){
        var obj=document.getElementById("bt1")
        var act=obj.onclick;
        obj.onclick=function(){
                if (confirm('继续吗?'))act()
        }
    }function Alert(){alert("ok")}
    //-->
    </script>
      

  2.   


    var fn = oldFun;var newFn = function(){
       //your code here
       
       if(flag)
       {
           return oldFun();
        }
    }这样调用newFn时就可以根据实际需要对oldFun进行处理,比如上面的判断是否运行之类的。不过不应该再调用oldFun了,而应该调用newFn如果只是事件函数就比较简单了:
    window.onload = function(){
    var ele = document.getElementById("test11");
    var fn = ele.onclick;

    ele.onclick = function(){
       //your code here
       if(confirm('确定要删除该条数据吗?'))
       {
          if(fn) fn();
       }
       
    }
    }
      

  3.   


    function simple_Test(name){alert("Hi!"+name);};(function(){
    var point = simple_Test;
    simple_Test = function(){
        if(arguments[0] === "xiaohua")
           point.apply(this,arguments);
    }})();simple_Test("xiaohua");
    simple_Test("keke");
    一个简单的动态代理实现