------------------------------------------------------------------------------------
函数传参: //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. Python 加载数据

    1. numpy data = np.loadtxt('./data/txtdata.csv') ⇒ data 是 numpy.ndarray 类型

  2. js 智能识别收获地址

    项目地址https://github.com/wzc570738205/smart_parse 支持以下数据格式 马云,1351111111,北京市朝阳区姚家园3楼 马云1351111111北京市朝阳 ...

  3. 6.vi使用

  4. Python笔记(七)

    # -*-coding:utf-8-*- # Python 文件I/O # 打印到屏幕 #print 1234567 # 读取屏幕输入 #input_str=raw_input("Pleas ...

  5. shell编程01—shell基础

    01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersy ...

  6. 2015 Objective-C 新特性

    Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然 ...

  7. Mac Dropbox 文件不显示同步图标 解决

    前言 开始时关了这个功能,今天想打开发现怎么也恢复不了. 按照官方教程说的重装也无济于事.最后在官方BBS发现一篇帖子顺利解决了问题 解决方案 这哥们意思是说禁用了一个Finder的插件就好了(有意思 ...

  8. Kattis - CD

    CD Jack and Jill have decided to sell some of their Compact Discs, while they still have some value. ...

  9. 在使用easyui datagrid在tab中遇到的问题

    当切换tab时,数据加载了,但是table的宽和高不能不能够初始化. 郁闷了好久解决了这个问题: 在页面加载时和切换tab时,获取当前tab的名字,进行内容的初始化 $('a[name="m ...

  10. SQLserver 导入超大CSV(100G以上)方法

    1.似乎SQLSERVER2008对UTF8不兼容,采用SQLSERVER20052.采用SQLSERVER2005,还是出现UTF8诸如此类的问题,修改表结构,varchar改成 nvarchar3 ...