TS 函数解析
------------------------------------------------------------------------------------
函数传参: //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 函数解析的更多相关文章
- ts 协议解析
pes : http://wenku.baidu.com/link?url=KjcA0qXqZ1bWVQTa8i1YOmygofldSQL7Pjj-zGRw1e_6_LFmVLo5DIWF0SNwVn ...
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- PHP json_decode 函数解析 json 结果为 NULL 的解决方法
在做网站 CMS 模块时,对于模块内容 content 字段,保存的是 json 格式的字符串,所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时,需要用到 json_decode() 函数 ...
- Matlab中bsxfun和unique函数解析
一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-b ...
- TS格式解析
1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...
- socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题
Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...
- sigaction函数解析
http://blog.chinaunix.net/uid-1877180-id-3011232.html sigaction函数解析 sigaction函数的功能是检查或修改与指定信号相关联的处理 ...
- driver_register()函数解析
driver_register()函数解析 /** * driver_register - register driver with bus * @drv: driver to register * ...
- async函数解析
转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ...
随机推荐
- pthread_create()创建线程时传入多个參数
因为接口仅仅定义了一个入參void *arg int pthread_create(pthread_t *tidp,const pthread_attr_t *attr, (void*)(*start ...
- 四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享
一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现-- ...
- openfire 安装部署
1. openfire安装和配置 本文介绍openfire 在linux上安装部署过程 linux上有两种安装方式,一个是RPM包方式.还有一个是tar.gz压缩包方式, 官方推荐採用RPM包方式,会 ...
- Linux体验之旅(一)——制作U启,安装rhel-server-6.3
U启制作: 双击UltraISO: 点击文件→打开: 选择rhel-server6.3 点击启动→选择写入硬盘映像 最后选择格式化优盘→写入→完毕 注意:启动盘制作完毕后一定记得将rhel-serve ...
- angularjs1-8,cacheFactory,sce
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- ROS命令参考
前言:整理一些ROS常用命令,参考自:<ROS机器人编程>. 一.ROS执行命令 二.ROS信息命令 三.ROS catkin命令 四.ROS功能包命令 -END-
- Java基础——GridBagLayout布局
1.GridBagLayout布局管理器非常灵活,每个 GridBagLayout 对象维持一个动态的矩形单元网格: 2.需要和它的约束类(GridBagConstraints类)一起使用: 3.Gr ...
- Android WebView访问网站携带登录认证Cookies和动态自定义的cookies
最近项目几个页面要复用微信程序的网页.但是需要调用微网站登录接口,返回Cookies,webview访问需要的网页的时候携带. 并且还需要几个其他的动态改变的cookie,目的是根据这几个动态自定义c ...
- 记一次redis-cluster的切换
# redis-cli -h 10.5.8.18 -c -p 8001 cluster nodes|grep master 6d2f817064a10631648f24f450a37237b3d53f ...
- ASP版_阿里大于短信API Demo
阿里大于申请地址:http://www.alidayu.com 阿里大于短信发送Demo: ******index.asp************* <%@LANGUAGE="VBSC ...