00:00
好了,那下边呢,咱们要说一说TES里边的函数啊。呃,之前呢,咱们讲的是类相关的内容,为了方便大家学习啊,我还是在这个里边新建一个目录,这个是零三杠。然后这个是类啊。然后呢,我把之前的这些文件呢。复制一份。放到第三个目录当中去。之后呢,那这些东西呢,我就都不要了啊,都删掉。删掉之后呢,当然了,我在这边呢,也需要把引入的这个文件也给它删掉啊,不要了,现在我们要说的是函数先来一个文件啊零一。函数点TS。好在命点TS当中,我来引入一下啊point。零一函数啊。好保存一下。函数无非就是什么呢?封装了一些什么重复使用的代码,然后呢,在需要的时候直接调用即可,对吧,这就是所谓的函数嘛。
01:10
好,我们来看看TES里边函数啊。先说说GS当中的函数,然后再来比较一下TS当中的函数是怎么写的,其实没有什么太大的区别啊。首先一般情况下函数有函数声明,当然了也可以叫做什么呢?命名函数。还应该有什么呢?还应该有函数表达式,当然它里边也可以叫做匿名函数是吧?我们先来看第一个,比如说function ad括号,我来一个X,逗号Y,然后在里边瑞return X加Y,那就说明我来了一个什么方法呢?来了一个可以求和的方法是吧?就是求和的这么一个函数吧,咱们别说方法了啊。那如果这个就是所谓的函声明叫做命名函数,函数有名字嘛,命名函数,那函数表达式如果把上面代码变成函数表达式的方式写,该怎么写呢?那我们通常也会这么写是吧?啊,比如说来一个什么呢?呃,Let吧,嗯,来一个let count都行,Count,比如说AD2吧,然后呢,它会等于一个function,小括号X,逗号Y。
02:15
然后大括号里边return X加上Y,跟之前的这个代码几乎是类似的是吧?呃,GS里边这么写,TS里边仍然可以这么写。但是呢?我们这个函数啊,在TS里边写的时候,我们可以干嘛呢?为函数里边去定义类型,这是什么意思呢?来对比一下啊,我把上边的这两个代码呢,暂且先注释掉。然后呢,我把这两个方法重新的复制一份啊。上边呢,我们可以认为是GS中的书写方式。当然。在TS中同样的可以这么写是吧,因为TS支持GS嘛,好,那下边这个是什么呢?啊,TS中的书写方式其实也没有什么太大区别,就稍微改了那么一点点东西而已啊。
03:15
格式化一下,那怎么办呢?TS当中在写的时候说函数啊,名字后边的这个小括号当中的参数,一般情况下我们都会给它指定类型啊,比如说我给他来一个冒号street啊,这个位置来一个冒号street是吧?那再比如说这个位置我给他来一个number,这个位置给它来一个什么呢?Number是吧?那我上面这个位置是不是有返回值啊,那我就可以在它后边再写上一个冒号STG。然后呢,这个位置冒号,再给他来一个number,这什么意思呢?好。这个代表说函数中的X和Y参数的类型都是STG类型的,然后呢,后边有个冒号,就是这个小括号后面的这个冒号string。
04:06
代表的是该函数的返回值,也是什么呢?String类型的,哎,所以说我要是在这个位置,我canl.log括号ad,然后往里边传个十,传个20,我们来看一下它不行,有问题,为啥呢?也就说number的参数不能复制给string,也就是说人家需要的是字符串,你给我数字肯定不行了,是吧?好,所以说那这个位置呢。我应该给它来一个字串,比如说来一个111,再来一个字串,然后来一个222,它是不是可以吧?好,如果说我调用这个函数接收了,看我怎么写的啊,比如说来一个cost result1,等于然后把它拿过来是吧?那此时我这个result应该是什么类型呢?应该是一个字串类型,那我要是写的话,应该这么写,诶去接收一下是吧,然后最终conso.log括号RESULT1,这就搞定了啊,这是参数式字符串类型。
05:03
是吧?返回值也是字符串类型,当然啊,这只是给大家看到的一种写法而已,那你说我两个参数,一个是字符串,一个是数字,可不可以呢?也可以是吧?好,也无非就是说在之前函数的基础之上,为参数和返回值加上了这个类型了,那再比如说下边的这一个是吧,它的解释和函数中的这个X。和什么呢?Y参数的类型都是number类型的啊,然后小括号。后面的这个冒号number,我还是希望大家能够自己想出来这个结果啊,这个描述应该是怎么说的啊啊,那后边number代表什么意思,代表的是该函数的返回值。也是什么类型的,Number类型的是吧?啊当然了,我们可以再去调用一下,我就直接这么写了,can.log括号A2里边来一个十逗号,再来一个20是吧,好保存我们可以看一下结果。
06:04
刷新一下,一个是字符串的拼接,一个是数字计算的结果值啊,那刚才呢,咱们是为函数里边的参数及返回值加上了这个类型,那其实这个函数啊,它真正的完整的这个写法应该怎么写,就是我下边的这个写法啊,我们可以来看一下啊,它是怎么玩的。好在这啊,这个函数的完整的什么呢写法。相当于说来一个Co ad3冒号,后边跟着应该是类型,然后等于应该是一个值是吧?因为我写的是一个函数,无非就是function,小括号大括号这么来去写是吧?我希望这个函数有参数,比如说X冒号是number类型的,Y呢冒号也是number类型的。然后呢,它的返回值也是一个number类型的,好,那我这个位置应该放一个什么类型的,跟它是一样的东西。啊,无非这个位置稍微把它改成这种写法就可以了啊,然后呢,在这里边我们可以写的内容,比如说return X加上Y,然后我们再去调用一把啊CAno.log括号AD3里边传入一个十,传一个100。
07:15
然后呢,保存我们来看一下结果。这个结果呢,是110是吧,那这块啊,要注意前面这个位置是一个变量名AD3,它代表的是变量名啊,其实它也就是我们最终的这个函数AD3是吧。好之后呢,嗯,函数A3这边号去掉吧,然后再往后再解释一下啊,这里边儿大家所看到的它就相当于是当前的这个函数的什么呢类型。那后边呢,是。一个函数是吧,但是这个函数是符合我上面这个函数类型的,所以说啊后边的这些内容。我把它都去掉啊。
08:02
它就相当于。符合上面。诶,不是这个复合啊,是相当于相当于符合上面的这个函数类型的什么呢?值哎,这个应该是在我们TS里边这个函数的完整写法,但是大家可以看到啊,是不是很别扭,感觉没有上边的这个用起来更加的方便是吧,或者说写起来更加方便啊,这个初次你在看到这种东西的时候,可能会觉得我去这是个什么玩意儿是吧,慢慢的慢慢的也就习惯了啊行,这是TS里边这个函数的参数啊,类型的一个讲解啊,咱们这块呢,就先到这儿。
我来说两句