//一:函数声明
//函数的声明
function fun1(): string {
return '123'
}
//匿名函数声明
var fun2 = function(): number {
return 1
}
fun2() //调用函数
//二:ts中定义方法传参
function fun3(a: number, b: number): number {
return a + b
}
console.log(fun3(1, 2))
//不需要返回值时可以在方法后加上void
function fun4(a: number, b: number): void {
console.log(a + b)
}
//方法可选参数
//es5里方法的实参和形参可以不一样,TS中必须一样,如果不一样需要配置可选参数
function fun5(a: string, b?: number): string {
//?表示该参数可以不传,可选参数必须是最后一个参数
return b ? '字符串' + a + b : '字符串' + a
}
console.log(fun5('ce', 1))
//默认可选参数
function fun6(name: string, age: number = 22): string {
return age ? name + age : name + '不知道年龄'
}
console.log(fun6('kk')) //kk不知道年龄
console.log(fun6('kk', 18)) //kk18
//剩余参数
//扩展运算符 接收新参数传来的值
function sum(...arr: number[]): number {
var sum = 0
for (var i = 0; i < arr.length; i++) {
sum += arr[i]
}
return sum
}
console.log(sum(12, 34, 56))
function sum2(a: number, ...arr: number[]): number {
//a是传参的第一个参数
var sum = a
for (var i = 0; i < arr.length; i++) {
sum += arr[i]
}
return sum
}
console.log(sum2(12, 34, 56))
//函数的重载
//通过为同一个参数提供多个参数类型定义来实现多种功能的目的
//es5中如果出现同名方法,那么下面的方法会替换上面的方法
function fun7(a: number): number
function fun7(a: number, b: number): number
function fun7(a: any, b?: any): any {
return b ? a + b : b
}
typescript函数声明、函数传参、函数重载
猜你喜欢
转载自blog.csdn.net/weixin_41587194/article/details/103674897
今日推荐
周排行