我今天在看一段代码   发现有delegate  不太明白 有没有高手给解释下

解决方案 »

  1.   

    javascript没有这个东西吧,也不需要这个东西。delegate不是因为C#不能传地址弄的一个代理吗。javascript直接把函数作为对象传过去就可以了。这个delegate是不是他自己的一个函数啊,你找找有没有定义。
      

  2.   

    delegate是C#的名词,其实就是函数指针,js也有的,很简单.<html>
    <head> </head>
    <body>
    <input type=button value="委托方法1执行" onclick="obj.添加事件处理(方法1);obj.执行();" >
    <input type=button value="委托方法2执行" onclick="obj.添加事件处理(方法2);obj.执行();" >
    </body>
    </html>
    <script>
    //========================================
    //封装的类
    function 类库1()
    {
    var delegateHandler=null;
    this.添加事件处理=function(func){
    delegateHandler=func;
    }

    this.执行=function(){
    if(delegateHandler!=null)
    delegateHandler();
    }

    }
    //========================================
    //前端调用
    var obj=new 类库1(); function 方法1()
    {
    alert("委托给方法1执行");
    }
    function 方法2()
    {
    alert("委托给方法2执行");
    }

    </script>