zoukankan      html  css  js  c++  java
  • javascript天生就具备类似c#中的"委托"功能

    今天读了Professional Javascript for Web Developers,才知道javascript天生就具备类似c#中的"委托"功能

    <script type="text/javascript">

    //定义一个加法函数
    function fnAdd(){
        
    var iResult = 0;
        
    for(var i=0;i<arguments.length;i++){
            iResult 
    += arguments[i];
        }

        
    return iResult;
    }


    //功能与上面的相同,只不过利用的Function对象
    var fnAdd2 = new Function("var iResult = 0;    for(var i=0;i<arguments.length;i++){iResult += arguments[i];}return iResult;");

    //注意写法,这里直接把函数fnAdd2当作参数传入fnAddDelegate,是不是跟c#中的委托有点类似
    function fnAddDelegate(fnAdd2,iNum1,iNum2){
        
    return fnAdd2(iNum1,iNum2)
    }


    document.write(fnAdd(
    1,2,3+ "<br/>");
    document.write(fnAdd2(
    10,20+ "<br/>");
    document.write(fnAddDelegate(fnAdd2,
    4,5+ "<br/>");

    </script>


    运行结果:
    6
    30
    9
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    EBS系统请求表定时清除
    excel 单元格公式实现like
    延迟加载
    JS中的面向对象
    JavaScript中的事件机制
    原型与继承机制
    WinForm中的简单打印
    图片预加载
    客户端存储
    JS中一些重要概念
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1043634.html
Copyright © 2011-2022 走看看