let?f1?=?(age:number)?:?string?=>?{` ? ?``return `找到了${age}的小哥哥`;```}``let age1 :number = 21;``let?res1?:?string?=?f1(age1);
注意:表达式定义完以后,必须调用函数
函数表达式还有一种写法:
?函数表达式:指定变量fn的类型
注意不要混淆了 TypeScript 中的 => 和 ES6 中的 =>
在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。
/ let fn: (x: Type, y: Type) => Type = (x, y) => {}` `//例子``var run3: (x: number, y: number) => string = function(x: number, y: number): string{` ? ?`return 'run3';``}``console.log(run3(1, 2))` `//当给变量run3指定类型的时候,应该是函数的参数和返回值的约束类型。如果用后面学到的ts类型推论,可以简写为:` `var run4: (x: number, y: number) => string = function(x, y){` `// 类型推论可以确定函数的参数和返回值类型,也就可以省略类型指定` ? ?`return 'run4';``}``console.log(run4(1, 2))
2. 函数没有返回值可以使用void类型值定返回值
function??f3()?:?void?{` ? ?`console.log('没有返回值')``}``f3()
3. 可选参数的函数
注意:可选参数一定要放在参数的最后面
function f4(age:number, cm?:number) : string {``//cm为可选参数,可传可不传` ? ?`if (cm) {` ? ? ? ?``return `可选参数------身高为${cm}厘米`;`` ? ?`} else {` ? ? ? ?`` return `可选参数-----年龄${age}岁` `` ? ?`}``}``console.log(f4(12))``console.log(f4(24, 175))
4. 有默认值参数的函数
注意:ts会将添加了默认值的参数识别为可选参数,有默认值的参数的位置不受【可选参数必须放在后面】的限制
function f5(age:number, cm:number = 188) : string {` ? ?`` return `默认参数----年龄为${age}岁---身高为${cm}cm` ```}``console.log(f5(25))
5. 剩余参数的函数
//当有很多参数的时候,或者参数个数不确定,可以用三点运算符``function f6(...rest:number[]) : number[] {` ? ?`return [...rest];``}``console.log(f6(1,2,3,4,5,6,7,8,9))` `function f7(a:number, b:number, ...rest:number[]) : number[] {` ? ?`return [a, b, ...rest]``}` `console.log(f7(100,200,1,2,3,4,5,6))
6. 接口中的函数
第一种写法
interface int1 {` ? ?`say (age:number) : void ?//抽象方法``}
第二种写法
算法
-
冒泡排序
-
选择排序
-
快速排序
-
二叉树查找: 最大值、最小值、固定值
-
二叉树遍历
-
二叉树的最大深度
-
给予链表中的任一节点,把它删除掉
-
链表倒叙
-
如何判断一个单链表有环
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/163141.html