介绍
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
//函数声明法
function run(){
return 'run';
}
//匿名函数
var run2=function(){
return 'run2';
}
可选参数
- 在 TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识 ?
- 可选参数必须跟在必需参数后面。 如果下例我们想让 firstName 是可选的,lastName 必选,那么就要调整它们的位置,把 firstName 放在后面。如果都是可选参数就没关系。
function buildName(firstName:string, lastName?:string) {
if (lastName)
return firstName + " " + lastName;
else
return firstName;
}
buildName("Bob")
buildName("Bob","Adams")
默认参数
- 我们也可以设置参数的默认值,这样在调用函数的时候,如果不传入该参数的值,则使用默认参数,语法格式为:
function function_name(param1[:type],param2[:type] = default_value) { }
剩余参数
- 有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。
- 剩余参数语法允许我们将一个不确定数量的参数作为一个数组传入。
- 以 ... 为前缀,事例代码:
function addNumbers(...nums:number[]) {
var i;
var sum:number = 0;
for(i = 0;i<nums.length;i++) {
sum = sum + nums[i];
}
console.log("和为:",sum)
}
addNumbers(1,2,3)
addNumbers(10,10,10,10)
函数重载
- 重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
- 每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
- 参数类型不同:
function disp(string):void;
function disp(number):void;
function disp(n1:number):void;
function disp(x:number,y:number):void;
function disp(n1:number,s1:string):void;
function disp(s:string,n:number):void;
- 如果参数类型不同,则参数类型应设置为 any。
- 参数数量不同你可以将不同的参数设置为可选。