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'); }));
----------------------------------------------------------
复制代码

 



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7217603.html,如需转载请自行联系原作者
相关文章
|
10月前
|
SQL 数据挖掘 测试技术
南大通用GBase8s数据库:LISTAGG函数的解析
南大通用GBase8s数据库:LISTAGG函数的解析
|
5月前
|
人工智能 JavaScript 程序员
一文彻底搞明白HarmonyOS基础TypeScript中的泛型函数
程序员Feri是一位拥有12年+经验的技术专家,擅长嵌入式、鸿蒙、人工智能和Java等领域。本文深入探讨TypeScript中的泛型函数,涵盖基础语法、类型约束、高级技巧及应用场景。通过泛型函数,实现代码逻辑与具体类型的解耦,提升类型安全性和复用性。内容包括集合操作、API抽象、工具类开发等实际应用,以及条件类型、默认类型参数和工具类型的高级技巧。最后提醒开发者注意过度泛型化和性能权衡问题,总结泛型函数在TypeScript类型系统中的核心地位及其未来发展方向。
102 1
一文彻底搞明白HarmonyOS基础TypeScript中的泛型函数
|
9月前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
181 5
|
10月前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的注意力机制:兼容性函数的深度解析
揭秘深度学习中的注意力机制:兼容性函数的深度解析
|
12月前
|
存储 前端开发 JavaScript
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
本文介绍了JavaScript中作用域的概念,包括全局变量和局部变量的区别,预解析机制(变量提升),以及函数返回值的使用和类型。通过具体示例讲解了变量的作用域、函数的返回值、以及如何通过return关键字从函数中返回数据。
116 1
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
|
11月前
|
移动开发 JavaScript 前端开发
TypeScript:数组类型&函数使用&内置对象
本文介绍了 TypeScript 中的数组类型、对象数组、二维数组、函数、函数重载、内置对象等概念,并通过代码示例详细展示了它们的使用方法。还提供了一个使用 HTML5 Canvas 实现的下雨效果的小案例。
203 1
|
11月前
|
存储
atoi函数解析以及自定义类型经典练习题
atoi函数解析以及自定义类型经典练习题
179 0
|
11月前
|
数据处理 Python
深入探索:Python中的并发编程新纪元——协程与异步函数解析
深入探索:Python中的并发编程新纪元——协程与异步函数解析
108 3
|
11月前
|
机器学习/深度学习 算法 C语言
【Python】Math--数学函数(详细附解析~)
【Python】Math--数学函数(详细附解析~)
|
11月前
|
安全 编译器 C++
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
76 3

推荐镜像

更多
  • DNS