一、函数的基本使用
1、匿名函数
const aa = function (salary: number, amount: number): number {
return salary + amount;
}
let res1 = aa(100, 100);
console.log(res1);
2、有名函数|命名函数|普通函数
function bb(hous: string, sleep: string,) {
return hous
}
let res2 = bb('爱上对方过后就哭了', '阿斯顿法国红酒看');
console.log(res2);
3、箭头函数
const cc = (time: number): void => {
console.log(`我每天学习${time}个小时`);
}
cc(12);
4、接口函数:
//函数的约束
type dd = (a: number, b: number) => number
//函数具体实现
const dd = (a: number, b: number) => console.log(a*b);
dd(12,34);
二、函数参数的处理
可选参数:
在TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为选,可选参数使用问号标识 ?
默认参数:
我们也可以设置参数的默认值,这样在调用函数的时候,如果不传入该参数的值,则使用默认参数,语法格式为 ``
function function_name(param1[:type] , param2[:type] = default_value){
}
剩余参数:
有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。剩余参数语法允许我们将一个不确定数量的参数作为一个数组传入。...args : any[]
export default {}
// 可选参数
let fun1: (a: number, b: number) => number = (x: number, y: number) => {
return x + y;
}
let fun2 = function (a: number, b: number): number {
return a + b;
}
fun1(34, 56);
fun2(10, 34);
fun2(10, undefined);
// 默认参数
let fun3 = function (a: number, b: number, c: number = 199) {
return a + b + c;
}
let res1 = fun3(100, 200);//499
let res2 = fun3(10, 20, 30);//60
// let res3=fun3()//NAN
console.log(res1);
// 剩余参数
let fun4 = function (...args: any[]) {
console.log(args);
}
fun4(100, '熊大', '熊二', '光头强');//[ 100, '熊大', '熊二', '光头强' ]
let fun5 = function (a: number, b: string, ...args: any[]) {
console.log(a);//100
console.log(b);//熊大
console.log(args);//[ '熊二', '光头强' ]
}
fun5(100, '熊大', '熊二', '光头强');
三、构造函数
创建对象时,把对应的值给他
export default {}
// 构造函数
var fun = new Function ("a","b","return a*b") ;
var res = fun(10, 20);
console.log(sires);
四、函数的重载
重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
参数类型不同:
function disp(string):void;
function disp(number):void;
参数数量不同:
function disp(n1:number):void;
function disp(x:number, y:number):void;
参数类型顺序不同:
function disp(n1:numder,s1:string):void;
function disp(s:str1,s1:number):void;
代码演示:
export default {}
//定义函数重载
function add(a: number, b: number): number
function add(a: string, b: string): string
function add(a: string, b: number): number
function add(a: number, b: string): number
// 使用函数重载
function add(a: any, b: any): any {
return a + b;
}
add(12, 34);
add('熊大', '熊二');
add('熊大', 23);
add(45, '熊二');
console.log(add(12, 34));
console.log(add('熊大', '熊二'));
console.log(add('熊大', 23));
console.log(add(45, '熊二'));
//函数参数不同
function star(a: string): void
function star(b: number, a: string): void;
function star(x:any, y?:any): void{
console.log(x);
console.log(y);
}
star('熊大');
star('熊二');