函数定义:
function fun1(name:string,age:number):string{
return `${name}---${age}`
}
匿名函数定义方式:
var fun1 = function():string{
return '123'
}
方法可选参数:
代表参数name可传值,也可以不传值;
可选参数必须配置到参数的最后面。
function fun1(name:string,age?:number):string{
if(age){
return `${name}---${age}`
}else{
return `${name}---未知`
}
}
fun1('zhangsan',20);
fun1('zhangsan');
带默认参数的可选参数:
function fun1(name:string,age:number=20):string{
return `${name}---${age}`
}
fun1('zhangsan');
fun1('zhangsan',30);
剩余参数:
使用…运算符
function sum(a:number,b:number,...res:numner[]):number{
let res = a + b;
res.reduce((acc,val)=>{
acc+val;
},res)
return res;
}
函数的重载:
多个同名函数,但是参数不一样
function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{
if(typeof str === 'string'){
return '我是'+str;
}else{
return '我的年龄是'+name;
}
}
getInfo('zhangsan');
getInfo(30);
getInfo(true); //错误
function getInfo(name:string):string;
function getInfo(name:string,age:number);
function getInfo(name:any,age?:any):any{
if(age){
...
}else{
...
}
}
getInfo('zhangsan');
getInfo(30); //错误
getInfo('zhangsan',30);