函数:
(1).函数声明:
function sum(x:number,y:number):number{
return x + y;
}
(2).函数表达式:
let mySum: (x:number,y:number)=> number = function (x:number,y:number):number{
return x + y;
}
(3).用接口定义函数类型
// interface 是接口
interface SearchFunc{
(source:string,subString:string):boolean;
}
(4).可选参数
function buildName(firstName:string,lastName?:string){
if(lastName){
return firstName+''+lastName;
}else{
return firstName;
}
}
let tomcat = buildName('Tom','Cat');
let tom = buildName('Tom');
(5).剩余参数
function push(array:any[], ...items:any[]){
items.forEach(function(item){
array.push(item);
}
}
(6).参数默认值
function buildName(firstName:string, lastName:string='Cat'){
return firstName + '' + lastName;
}
let tomcat = buildName('Tom','Cat');
let tom = buildName('Tom');
(7).剩余参数
function push(array: any[], ...items: any[]) {
items.forEach(function(item) {
array.push(item);
});
}
let a = [];
push(a, 1, 2, 3);