Typescript函数

1 函数的基本使用

函数是JavaScript应用程序的基础,

匿名函数:

匿名函数是一个没有函数名的函数。

匿名函数在程序运行时动态声明,除了没有函数名外,其他的与标准函数一样。

我们可以将匿名函数赋值给一个变量,这种表达式就成为函数表达式。

语法格式如下:

//匿名函数
const makeMoney = function(salary:number,reward:number):number{
    return salary+reward
}
ler res = makeMoney(4,5)
console.log(res)   //9


//有名函数|命名函数|普通函数
function writeCode(hour:number,sleet:number):number{
    return hour
}
let res1 = writeCode(1,2)
console.log(`我写了${res1}小时了`);


//箭头函数
const see = (time:string):void =>{
    console.log(`我已经看了${time}小时`)
}
see("2")


//接口函数
const a = function(b:number,c:number):number{
    return b+c
}
let d=a(2,5)
console.log(d);
console.log("------");

// 有名函数、命名函数,普通函数
function fun(name:string,time:number){
    return name+time
}
let fun1=fun("wang",1)
console.log(fun1);


// 箭头函数
const fun2=(time:number):void=>{
    console.log(`我的时间是${time}`);
    
}
fun2(2)



2 函数参数的处理

可选参数: .
在TypeScript函数里,如果我们定义了参数。则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识
默认参数:
可以设置参数的默认值,这样在调用的数的时候,如果不传入该参数的值,则使用默认参数,请法格式为

function function_name(param1[:type],param2[:type] = default_value){

}

剩余参数:
有一种情况, 我们不知道要向函教传入多少个参数,这时候我们就可以使用剩余参数来龙义。
利余参数语法允许我们格一个不确定数量的参数作为一 一个数组传入。..args :any[] 

export default {}
//可选类型
const func1: (a: number, b: number) => number = (x: number, y: number) => {
    return x;
}
const func2 = function (a: number, b?: number): number {
    return a;
}
// func2(10);
// func2(10, 20);
// func2(10, undefined);
console.log(func2(10));
console.log(func2(10, 20));
console.log(func2(10, undefined));


// 参数的默认值
const func3 = function (x: number = 100, y: number = 200, z: number = 300) {
    return x + y + z
}
let res = func3(100, 200)
let res1 = func3(100, 200, 400)
console.log(res);
console.log(res1);


// 函数的剩余参数

const func4 = function (...args: any[]) {
    console.log(args);

}
func4(1, 2, 3, 4, 5, "张三")

const func5 = function (a: number, b: string, ...args: any[]) {
    console.log(a);
    console.log(b);
    console.log(args);
}
func5(10, "20", 30, "张三", "李四")

3 构造函数

支持使用JavaScript内置的构造函数Function()来定义函数。

语法格式:

var res = new Function([argl1[,arg2[,...argN]],]functioonBody)

参数说明:arg1,arg2,...argN 参数列表

functionBody:一个含有包括函数定义的JavaScript语句的字符串


//构造函数
var myfun = new Function("a","b","return a*b");
var res = myfun(10,20);
console.log(res);

4 函数重载

重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。

参数类型不同:

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。

参数数量不同你可以将不同的参数设置为可选。

export default{}
// 定义函数重置
function addFunc(a:number,b:number):number
function addFunc(a:string,b:string):string
function addFunc(a:number,b:string):number
function addFunc(a:string,b:number):number
// 使用函数重载 
function addFunc(a:any,b:any):any{
    return a+b
}
addFunc(10,20);
addFunc("王","刘");
addFunc("张",20);

// console.log(addFunc(10,"李"));

console.log("************");

// 定义参数类型与参数数据不同
function star(s1:string):void;
function star(n1:number,s1:string):void;
function star(x:any,y?:any):void{
    console.log(x);
    console.log(y);
}
star("赵")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值