------------------------------------------------------------------------------------
函数传参: //let myAdd: (baseValue:number, increment:number) => number = function(x: number, y: number): number { return x + y; }; enum EventType { Mouse, Keyboard } interface Event {
timestamp: number;
}
interface MouseEvent extends Event {
x1: number;
y1: number;
}
interface KeyEvent extends Event {
keyCode: number
}
function listenEvent(eventType: EventType, handler: (nnnnnnnnnn: Event) => string) {
handler(null);
return null;
}
function listenEvent1(eventType: EventType, handler: (nnnnnnnnnn: string) => string) {
handler(null);
return null;
}
function listenEvent2(eventType: EventType, handler: (nnnnnnnnnn: Event) => void) {
handler(null);
return null;
}
function f(x:string){//(从js来看)声明定义了一个函数
return "vvv";
}
function ff(x:string):string{//声明了一个函数,
return "vvv";
}
var f1 = (x:string) => { //声明定义了一个函数
return x;
}
var f11 : (x:string) => string; //函数类型 var f111 = (x:string) => { //声明定义了一个函数
return (x) => {return x}
}
var f2 = () => { //声明定义了一个函数
console.log("1223");
return "sss";
}
var f22 = () => null; listenEvent1( EventType.Keyboard, f111("sss") ); //f111("sss") 使用的是返回值
//() => {console.log("1223");console.log("4456");return "1111";} 是定义了一个函数,传的是函数的定义,函数调用的时候才会传真实参数,
listenEvent(EventType.Keyboard, (e: MouseEvent) => {console.log("1223");console.log("4456");return "1111";} ); listenEvent2(EventType.Keyboard, (e: MouseEvent) => null ); listenEvent(EventType.Mouse, <(e: Event) => null> ( (e: MouseEvent,s:number) => console.log('e.x' + ',' + 'e.y') ) );
-------------------js 解析 ----------
//let myAdd: (baseValue:number, increment:number) => number = function(x: number, y: number): number { return x + y; };
var EventType;
(function (EventType) {
EventType[EventType["Mouse"] = 0] = "Mouse";
EventType[EventType["Keyboard"] = 1] = "Keyboard";
})(EventType || (EventType = {}));
function listenEvent(eventType, handler) {
handler(null);
return null;
}
function listenEvent1(eventType, handler) {
handler(null);
return null;
}
function listenEvent2(eventType, handler) {
handler(null);
return null;
}
function f(x) {
return "vvv";
}
function ff(x) {
return "vvv";
}
var f1 = function (x) {
return x;
};
var f11; //函数类型
var f111 = function (x) {
return function (x) { return x; };
};
var f2 = function () {
console.log("1223");
return "sss";
};
var f22 = function () { return null; };
listenEvent1(EventType.Keyboard, f111("sss")); //f111("sss") 使用的是返回值
//() => {console.log("1223");console.log("4456");return "1111";} 是定义了一个函数,传的是函数的定义,函数调用的时候才会传真实参数,
listenEvent(EventType.Keyboard, function (e) { console.log("1223"); console.log("4456"); return "1111"; });
listenEvent2(EventType.Keyboard, function (e) { return null; });
listenEvent(EventType.Mouse, (function (e, s) { return console.log('e.x' + ',' + 'e.y'); }));
----------------------------------------------------------

TS 函数解析的更多相关文章

  1. ts 协议解析

    pes : http://wenku.baidu.com/link?url=KjcA0qXqZ1bWVQTa8i1YOmygofldSQL7Pjj-zGRw1e_6_LFmVLo5DIWF0SNwVn ...

  2. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  3. PHP json_decode 函数解析 json 结果为 NULL 的解决方法

    在做网站 CMS 模块时,对于模块内容 content 字段,保存的是 json 格式的字符串,所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时,需要用到 json_decode() 函数 ...

  4. Matlab中bsxfun和unique函数解析

    一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-b ...

  5. TS格式解析

    1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...

  6. socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  7. sigaction函数解析

    http://blog.chinaunix.net/uid-1877180-id-3011232.html sigaction函数解析  sigaction函数的功能是检查或修改与指定信号相关联的处理 ...

  8. driver_register()函数解析

    driver_register()函数解析 /** * driver_register - register driver with bus * @drv: driver to register *  ...

  9. async函数解析

    转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ...

随机推荐

  1. ROS-VIM

    在终端输入:vimtutor,进入学习教程. 常用快捷键: a 编辑模式; 编辑状态下 回车 换行; Ctrl+n 补全命令; x剪切; p复制; u撤销; :q!不保存退出; :wq保存并退出; 以 ...

  2. 浅谈SpringCloud (一) 什么是微服务和不使用SpringCloud怎么访问服务提供者

    微服务和SpringCloud介绍 1.什么是微服务? 看过一遍介绍的很清楚的博客:https://blog.csdn.net/wuxiaobingandbob/article/details/786 ...

  3. hdu 1532 Drainage Ditches 【ISAP 】

    还是不是很懂算法 先存一个模板先吧--- 看的这篇学的-- http://www.renfei.org/blog/isap.html #include<cstdio> #include&l ...

  4. svn: E155017: Checksum mismatch while updating 校验错误的解决方法

    [10.3.53.53:/EMRCV5]# svn up svn: E155004: Working copy '/EMRCV5' locked. svn: E155004: '/EMRCV5' is ...

  5. 带你学C带你飞!

    C语言免费课程推荐:带你学C带你飞! 想学习C语言,首先就要了解什么是C语言: C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码 ...

  6. 蓝桥杯_left and throw

    思考了许久没有结果,最后,还是一位擅长搜索资源的学长帮我找到了一个不错的代码,这个代码极其精妙,再一次印证了一句话,没有做不到的,只有想不到的,当然这个代码我拿到手的时候是个没有注释的代码,我费尽周折 ...

  7. luogu p1004

    P1004 题意 类似一个比较小的方格(N<=9),有的点是0,有的点有数, A->B的路径经过的点加上该点代表的数,求两次A->B的最大解(最优解) 一个令人恼的问题是两条路径如果 ...

  8. C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...

  9. html全屏显示

    JavaScript代码: function toggleFullScreen() { if (!document.fullscreenElement && // alternativ ...

  10. 递归树处理,配合vue的vueTreeselect组件使用

    在项目中经常会使用到tree,并且需要对递归树进行操作. 在vue项目中,使用vue-treeselect插件(https://vue-treeselect.js.org/) 使用中遇到的问题: 1. ...