TypeScript 定义函数的方法
函数声明法
function run():string{ // 返回数据类型为字符串的函数
return "字符串"
}
匿名函数
var fun = function():number{// 返回数据类型为number的函数
return 1
}
传参函数 参数要指定类型 返回值要指定类型
function params(arr:Array<number>,name:string,age:number):number{
return 1
}
params([1,2],"ss",18)
没有返回值的方法
function fu():void{
console.log("没有返回值的方法")
}
可选参数
// age可不传
function par(name:string,age?:number):number{
return 1
}
par("ss",18)
默认参数
es5无法设置默认参数 ,es6和ts可以设置
function par2(name:string,age:number = 20):number{
console.log(name,age)
return 1
}
par2("ss")
剩余参数 ...扩展运算符
// 1赋值给 a 后面赋值过result
// function sun(a:number,...result:number[]):number{
function sun(...result:number[]):number{
var sum = 0
for(var i=0; i<result.length; i++){
sum += result[i]
}
return sum
}
console.log(sun(1,2,3)) //6
函数重载
通过为同一个函数提供多个函数类型定义来实现多种功能的目的。
function info(name:string):string;
function info(age:number):number;
function info(str:any):any{
if(typeof str === 'string'){
return 'string'
}else{
return 1
}
};
console.log(info("张三"))
console.log(info(18))