TypeScript 函数以及简单使用和操作
TypeScript 函数
- 一、常规函数定义和函数调用方式
- 二、带参数函数定义和调用方式
- 三、匿名函数定义和调用方式
- 四、构造函数定义和调用方式
- 五、递归函数定义和调用方式
- 六、箭头函数定义和调用方式
- 六、函数重载定义和调用方式
一、常规函数定义和函数调用方式
1.常规函数定义调用
function hello() {console.log("hello TS")
}
hello(); //hello TS
2.带返回值函数
function hello():string { return "Hello World"
}
hello();
二、带参数函数定义和调用方式
1.带固定参数函数
function add(a: number, b: number): number {let c:number = a+b;return c
}
2.带可选参数和默认参数函数
function oneFun(a: string, b?: string) {if(b) {console.log(a + b)} else {console.log(a)}
}
oneFun("hello") //hello
oneFun("hello", "TS"); //helloT
注 : \color{red}{注:} 注: 常规情况下传入参数数量要和函数定义参数相同,"?"代表该参数为可选(即传入或者不传皆可)
3.默认参数
function defaultFun(a:number,b:number = 1) {console.log(a+b);
}
defaultFun(1) //2
defaultFun(1,2) //3
在调用函数时,如果不传入该参数的值,则使用默认参数
4.剩余参数函数
function otherFun(a: string, ...otherItem: string[]) {console.log(a + " " + otherItem.join(" "))
}
otherFun("hello","T","S")//hello T S
当函数传入参数数量未知时,我们可以使用剩余参数来定义
三、匿名函数定义和调用方式
1.匿名函数及其自调用
//匿名函数
let noName = function(a:number,b:number) { console.log(a+b);
};
noName(1,2); //3
// 自调用
(function() { console.log("hello ts");
})() //hello ts
四、构造函数定义和调用方式
let creatFun = new Function("a", "b", "console.log(a+b)")
creatFun(1,2) //3
注 : \color{red}{注:} 注: let creatFun = new Function ([arg1[, arg2[, ...argN]],] funBody)
funBody是一个含有包括函数定义的 JavaScript 语句的字符串,其前面为该函数的参数列表
五、递归函数定义和调用方式
递归函数即在该函数内调用该函数,比如解决1—N的和可以通过递归解决
function myFun(a:number):number {if (a <= 1) { // 停止执行return 1; } else { return (a + myFun(a - 1)); // 调用自身}
}
let oneSum = myFun(100);
console.log(oneSum)//5050;
六、箭头函数定义和调用方式
1.无参数
let arrowFun = () => {console.log("hello Ts")
}
arrowFun(); //hello Ts
2.单个参数
let arrowFunTwo = (a:number) => {console.log(a)
}
arrowFunTwo(2); //2
当参数只有一个时也可以去掉括号
let arrowFunTwo = a => {console.log(a)
}
arrowFunTwo(2); //2
3.多个参数
let arrowFunThree = (a:number,b:number) => {console.log(a+b)
}
arrowFunThree(1,5); //6
六、函数重载定义和调用方式
当我们想让一个函数有多个功能时可以使用函数重载
let allStr:any[] = ["H","e","l","l","o",1];
//定义重载
function differentFun(a:string):string;
function differentFun(a:string[]):string;
//实现
function differentFun(oneArg: unknown):unknown {if (typeof oneArg === 'string') {return oneArg;} else if (Array.isArray(oneArg)) {return oneArg.join("");}throw new Error('false value');
}
console.log(differentFun(allStr)); //Hello1
console.log(differentFun(allStr[0])); //H
console.log(differentFun(allStr[5])); //Error: false value
有问题可以在下面评论,我会为大家解答。
TypeScript 函数以及简单使用和操作相关推荐
- TypeScript - 函数
前言 本文主要记录下 TypeScript 中的函数,日常学习总结篇. 在 JavaScript 中,函数是构建应用的一块基石,我们可以使用函数抽离可复用的逻辑.抽象模型.封装过程.在 TypeScr ...
- map函数的简单用法。
在这里感谢新浪博客的daylive的博文: Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
- php打开文件读写函数,php中常用文件操作读写函数介绍
本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists ...
- matlab中ode45函数的用法_带你理解Excel中COUNTIF函数的简单用法
每天5分钟,每天学一点. COUNTIF函数是Excel中最常用的统计函数之一,它的作用主要是用于根据特定条件对数据进行统计.假如,你想统计一下本周总共做了几次健身/瑜伽,或者统计上了几次培训课,那么 ...
- php get验证,PHP+Ajax简单get验证操作示例
本文实例讲述了PHP+Ajax简单get验证操作.分享给大家供大家参考,具体如下: 1.显示页面代码 index.html XMLHttpRequest独对象使用实例 //第一步创建ajax引擎对象 ...
- ffplay.c函数结构简单分析(画图)
最近重温了一下FFplay的源代码.FFplay是FFmpeg项目提供的播放器示例.尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的.之前看代码,主要是集中于某一个"点&q ...
- 关于C语言函数的简单理解
关于C语言函数的简单理解 C语言中的函数 在C语言中,函数是构成程序的基本模块.程序的执行从main()函数的入口开始,到main()函数的出口结束,中间循环.往复.迭代的调用一个有一个函数.每个函数 ...
- linux0.11内存memory.c一些函数的简单的注释(一)
memory.c中一些函数自己的一些自己看法,有错大家指出来.或者是更好的解释可以个提出来呀.有什么问题也可以向rentiansheng@163.com发邮件, 谢谢大家. 1. 设置页表.页目录的位 ...
最新文章
- 据我所知,这是第一个完整实现运动分割、动态目标追踪等的「开源」动态SLAM系统!...
- 服务器负载均衡(1)
- 汤家凤高等数学基础手写笔记-一元微分学的应用
- Eclipse+Web3j开发以太坊应用
- 你知道面试官是如何刷人的吗
- 如何修复Mac清倒废纸篓提示“操作无法完成,因为该项目正在使用中”
- Android学习—7种形式的Android Dialog使用举例
- 55. GridPanel中getSelectionModel详解
- python水仙花数的代码_Python水仙花数的编程代码写法
- H5前端实现微信分享(处理二次分享问题)
- 从弗雷格的《概念文字》到模态逻辑的产生与发展
- 服务器svn自动同步,svn主备服务器实时同步
- 小说阅读器,记录上次阅读位子。
- idea设置java运行内存,IntelliJ IDEA 修改内存大小,使得idea运行更流畅(二)
- c语言省二级编程证书,c语言二级考试
- hibernate一对一主键关联映射(单向关联Person-----IdCard)
- UML中关系(4+4)
- 为什么要有不同的参考文献格式?
- 一篇文章普及各种ios基本知识
- 读刘未鹏老大《你应当如何学习C++(以及编程)》
热门文章
- 【Java】接口的讲解与使用,你还有要补充的嘛?
- 计算机图形学课件pdf版
- 易观落子长沙成立大数据研发中心 聚力中南IT产业
- python中prompt的意思_python中的prompt是什么意思,怎么用
- 数据结构经典算法(4)三色旗
- 记一次使用compiz失败及抢救过程
- 计算机的CPU型号 内存容量和硬盘容量,什么是LGA,PGA,BGA类型的CPU封装?CPU主频/内存容量/硬盘容量怎么看?...
- 《动手学深度学习》手动导入数据集产生错误的解决方法
- 使用坚果云的情况下pc版zotero和ipad版zotero同步及文献下载
- 中小微企业抉择全网营销平台公司合作的6大要点