TypeScript 函数

一、函数的基本使用

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('熊二');

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值