admin管理员组

文章数量:1794759

ts函数

ts函数

一、ts函数的定义

ts函数定义函数有两种方法。

1.函数声明法

代码如下(示例):

function:fun():string{ return "this is a function"; } 2.匿名函数法

代码如下(示例):

var fun=function():string{ return "this is a function"; } 二、ts中定义函数传参 1.函数传参方法

代码如下(示例):

function:fun(name:string,age:number):string{ return `${name}---${age}`; } fun("zhangsan",20);//运行结果zhangsan---20 2.可选参数

在参数后边加一个?号表示该参数可传可不传 代码如下(示例):

function:fun(name:string,age?:number):string{ if(age){ return `${name}---${age}`; }else{ return `${name}---年龄未知; } } fun("zhangsan",20);//运行结果zhangsan---20 fun("zhangsan");//运行结果zhangsan---年龄未知

注意:可选参数一般放置在参数的最后一个位置

3.默认参数

当函数设置了默认参数时,如果给函数传值,所传过来的值会覆盖设置的默认值,未传值时选择默认值 代码如下(示例):

function:fun(name:string,age:number=20):string{ if(age){ return `${name}---${age}`; }else{ return `${name}---年龄未知; } } fun("zhangsan");//运行结果zhangsan---20 fun("zhangsan",30);//运行结果zhangsan---30 4.剩余参数

当函数不知道要传递多少个参数的情况下,可以使用三点运算符(…) 代码如下(示例):

function:sum(...result:number[]):number{ var sum=0; for(var i=0;i<=result.length;i++){ sum+=result[i]; } } sum(1,2,3,4);//运行结果10 fun(1,2,3,4,5);//运行结果15 三、函数重载

java中函数的重载:指的是两个或两个以上同名函数,但他们的参数不一样,这时候会出现重载的情况; ts函数中的重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的。

代码如下(示例):

function:getinfo(name:string):string{} function:getinfo(age:number):string{} function:getinfo(str:any):any{ if(typeof str===string){ return `我叫:`+str; }else{ return `年龄是:`+str; } getinfo("zhangsan");//运行结果我叫zhangsan getinfo(18);//运行结果年龄是18 四、箭头函数

箭头函数中的this指向上下文

代码如下(示例):

function:getinfo(name:string):string{} function:getinfo(age:number):string{} function:getinfo(str:any):any{ if(typeof str===string){ return `我叫:`+str; }else{ return `年龄是:`+str; } getinfo("zhangsan");//运行结果我叫zhangsan getinfo(18);//运行结果年龄是18

本文标签: 函数TS