/*
函数定义
在typescript中,函数需要写上函数返回值的类型。如 :
function say():void{
console.log('hello')
}
function getName():string{
return 'tom';
}
-----------------------------------------
函数传参
function getInfo(name:string, age:number):string{
return name + ',' + age;
}
console.log( getInfo('tom', 25) );
-----------------------------------------
可选参数
使用?来代表该参数是可有可无的。如 :
function add(n1:number, n2?:number):number{
if(n2){
return n1 + n2;
}else{
return n1;
}
}
console.log( add(5,8) );
console.log( add(5) );
需要注意的是,可选参数必须放到最后面
-----------------------------------------
默认参数
参数的默认值。如 下面的n2:
function add(n1:number, n2=2):number{
return n1 + n2;
}
console.log( add(1) );
需要注意的是,默认参数必须放到最后面
-----------------------------------------
剩余参数
使用...代表任意个参数,传进来的参数会保存到一个数组中。如 :
function sum(...result:number[]):number{
var sum:number = 0;
for(var i=0; i<result.length; i++){
sum+=result[i];
}
return sum;
}
console.log(sum(1,2,3,4,5));
-----------------------------------------
函数的重载
有多个以上相同名字的函数,但是传入的参数类型不一样。叫做函数的重载。如 :
function getInfo(name:string):string; //参数的类型是string
function getInfo(age:number):string; //参数的类型是number
function getInfo(str:any):any{
if(typeof str === 'string'){
return '我叫'+str;
}else{
return '我的年龄是' + str;
}
}
console.log( getInfo('tom') );
console.log( getInfo(18) );
-----------------------------------------
* */