函数:
- function 函数名(参数:参数类型,) : 函数的返回类型number,string…void
{ 函数体; }
function compare(num1:number,num2:number):number{
return num1>num2?num1:num2;
}
//(a:number,b:number)=>number 是参数类型
let func:(a:number,b:number)=>number = function(a:number,b:number):number{
return a+b;
}
- 输入多余的(或者少于要求的)参数,是不被允许的。
let result : number = compare(1,2); //正确
compare(1); //报错,参数不够
compare(1,2,3); //报错,参数太多
compare('1','2'); //类型错误
- 接口定义函数形式
interface Func{
(a:number):void
}
let func:Func;
func =function(a:number):void{
console.log(a);
}
- 函数的可选参数
let func = (a:number,b?:number):number=>{
return a+b;
}
func(1);
func(1,2);
- 函数的参数默认值
//建议从后面赋值写。
let func =(a:number,b:number = 100,c:number=1):number=>{
return a+b+c;
}
let result = func(100);
- 额外传递进来的参数会被存储到rest数组
let func = (a:number,...rest:number[])=>{
}
func(1,2,3,4,5);