先看委托的定义:用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。

通过下面的方式进行定义 一个参数为string 型,无返回值的  委托
 publicdelegatevoid OnAction(string para);

//使用

public class TestClass
{
      static void Main(string [] args)
        {
            OnAction  mydelegate = new OnAction(TestFunctionOne );
            mydelegate("Hello delegate");
//mydelegate = new OnAction(TestFuncitonTwo);
            //mydelegate("Hello delegate");
}
//测试用方法
public void TestFunctionOne (string para)
{
Console.Writeline(para);
}
pulic void TestFuncitonTwo(string para)
{
Console.Writeline("string is: " + para);
}
}
通过实例可以看得出,委托实际上就是个方法模板,你在实例化时传给他什么样的方法名,那它的实例化对象就是那个方法。只要是符合委托定义的方法签名的方法,都可以做为实例化时的参数。
委托解决的问题,就是在运行时,进行方法注入。灵活的解决问题,降低耦合。
那Javascript是如何实现这种机制的呢??
弱类型的优势在这个机制下面被体现出来了。。。很简单就实现喽
 
function func(TestFunction,para){
   TestFunction(para);
}
funciotn Main(){
    func(TestFunctionOne,"Hello delegate");
    func(TestFuncitonTwo,"Hello delegate");
}
Main();
 //测试用方法

function TestFunctionOne (para){
  Console.Writeline(para);
}
function TestFuncitonTwo(para){
     Console.Writeline("string is: " + para);
}
学强类型语言的同学,希望大家也能学一门弱类型语言,这样可以更好理解强类型语言为啥叫强类型。

转载于:https://www.cnblogs.com/fync/archive/2012/11/01/2749336.html

弱类型语言的优势:C#的委托概念在Javascript中的实现相关推荐

  1. 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言概念辨析

    编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言概念辨析 转自:https://blog.csdn.net/u010533843/article/details/76215487 编译型和解 ...

  2. 概念区别 【编译型语言与解释型语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】

    概念区别 [编译型语言与解释型语言.动态类型语言与静态类型语言.强类型语言与弱类型语言] 文章目录 一.编译型语言与解释型语言 二.动态类型语言与静态类型语言 三.强类型语言与弱类型语言 总结 一.编 ...

  3. python中动态语言静态语言的定义_作为程序开发,你所需要知道的编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的概念以及区别...

    作为程序开发,你所需要知道的编译型与解释型.动态语言与静态语言.强类型语言与弱类型语言的概念以及区别! 在各式各样的开发过程当中,我相信各位开发小伙伴在开发过程中并没有太关注什么是解释性语言和编译性语 ...

  4. bool类型返回值_Python 到底是强类型语言,还是弱类型语言?

    推荐三个网站 1.Python进阶知识: http://python.iswbm.com  2.Python魔法技巧: http://magic.iswbm.com 3.PyCharm 手册: htt ...

  5. c++强大还是python强大-Python 到底是强类型语言,还是弱类型语言?

    0.前言 我在上一篇文章中分析了 为什么 Python 没有 void 类型 的话题,在文章发布后,有读者跟我讨论起了另一个关于类型的问题,但是,我们很快就出现了重大分歧. 我们主要的分歧就在于:Py ...

  6. python语言的类型是_Python到底是强类型语言,还是弱类型语言?

    0.前言 我在上一篇文章中分析了 的话题,在文章发布后,有读者跟我讨论起了另一个关于类型的问题,但是,我们很快就出现了重大分歧. 我们主要的分歧就在于:Python 到底是不是强类型语言?我认为是,而 ...

  7. 静态 动态 强类型 弱类型语言的区别

    原文:http://www.zhihu.com/question/19918532 类型系统的一些概念,众说纷纭,使用上也比较乱.有些东西,甚至不好严格定义.以下算学术界的一种相对"严格&q ...

  8. python里两个等号代表什么_Python 到底是强类型语言,还是弱类型语言?

    以下文章来源于 Python 猫 ,作者豌豆花下猫 作者 | 豌豆花下猫 来源 | Python 猫 前言 我在上一篇文章中分析了为什么 Python 没有 void 类型的话题,在文章发布后,有读者 ...

  9. python 强类型 弱类型_Python到底是强类型语言还是弱类型语言

    0.前言 有读者跟我讨论起了另一个关于类型的问题,但是,我们很快就出现了重大分歧. 我们主要的分歧就在于:Python 到底是不是强类型语言?我认为是,而他认为不是. 他写了一篇很长的文章<谁告 ...

最新文章

  1. Mysql组复制故障恢复测试
  2. Xgboost实现GPU加速
  3. Pycharm使用详解
  4. 23种设计模式C++源码与UML实现--访问者模式
  5. java安全编码指南之:死锁dead lock
  6. Qt中的测试 枚举与 QFlags详解
  7. 三、Web服务器——HTTP协议 Response对象 ServletContext对象 学习笔记
  8. labview 远程连接linux,SSH交互式通信总结:expect、plink、putty、sshpass、ALAB SSH
  9. 电大计算机应用技术基础视频,电大形成性测评-计算机应用技术基础01
  10. python运势预测程序_Python 爬虫系列之一——每日星座运势
  11. python 多线程就这么简单(续)
  12. Ubuntu14.04下安装Samba
  13. 埃文科技教你如何验证IP地址定位的准确率
  14. Windows下本地安装SVN客户端
  15. abab的四字成语_abab式的四字词语
  16. wmic冻结进程_WMIC的用法
  17. 【Vue】13.解决安卓手机上调出软键盘,屏幕背景被压缩的问题
  18. 021—转载-各种数据类型在16位、32位和64位系统下所占字节差异简介
  19. Dell电脑插入耳机没反应 解决办法
  20. java web 蓝牙打印_android 蓝牙打印机示例

热门文章

  1. factor--符号矩阵的因式分解
  2. mysql删除重复的判断_MySQL中查询、删除重复记录一共有多少种方法?
  3. 第二章:2.4 卷积性质
  4. Python3 出现'ascii' codec can't encode characters问题
  5. 第五次会议记录:开始进一步需求分析,及初步分工
  6. 图片验证码的JAVA工具类
  7. Java Selenium起步
  8. insertion Sort List (链表的插入排序) leecode java
  9. [@Controller]4 详解@ModelAttribute
  10. 怎么获取一个类型的所有字段的名字 和获取给予数据相应的值