函数声明
function fun1 (){}
匿名函数
let fun2 =function (){}
指定类型
function fun1(x: number, y: number): number {
return x + y
}
let fun2: (s1: string, s2: string) => string =
function (s1: string, s2: string): string {
return s1 + s2
}
可选参数 和 默认参数
function fun(x: number, y?: number, z: number = 1) { }
剩余参数
function fun(n1: number, ...n2: number[]) { }
函数重载
根据不同的参数返回不同类型
1不同类型
function getUserInfo(name: string): string;
function getUserInfo(age: number): string;
function getUserInfo(any: any): any {
if (typeof any == 'string') {
return 'name is ' + any
} else if (typeof any == 'number') {
return 'age is' + any
}
}
2个数不同
function getUserInfo(name: string): string;
function getUserInfo(name: string, age: number): string;
function getUserInfo(name: string, age?: number): any {
if (age) {
return 'name is' + name + ' age is ' + age
} else {
return 'name is ' + name
}
}
箭头函数
// 注 this指向上线文
let fun = ()=>{}