00:00
我们再来看一个新特性,关于函数优化的部分,好来创建一个HTM页面,Shift的叹号来生成一下,那在这里边来编写我们的代码,首先我们来看第一个特性,我们函数参数的默认值,比如我们有一个需求我们生命的一个方法and,然后呢,它是来求AB2数之和,但我们呢,想让B拥有一个默认值,如果没传的话,如果是以前,我们可以来这么来写,通过变通的这种写法来我们把这段代码拿来看一下。那每次这么来写呢,感觉有点麻烦,我们来打开62F12我看一下好,现在呢求出来11,那在这呢,即使在调用的时候没有传B值,那B默认11,那现在呢,另外一种写法就是呢,我们可以变成这样子的,诶我来复制来。我又声明了一个方法,Shift的F代码整理一下,我呢在方法声明的时候,给这个参数直接写了一个等于一,这样的话呢,如果这个参数没有传,那么它默认值就是一,比如我们来再调第二个方法的时候,哎,我给他给了一个。
01:12
20,但是呢,我只传了第一个参数A,没传B,那么B就会拥有一的这个默认值,我们看算出来21,这是我们说的第一个函数参数的默认值,接下来呢,我们再来看第二个,我们现在函数呢,还可以编写不定参数,这个不定参数呢,就是我们可以来传任意多个,诶这跟我们Java里边还挺像的,比如我们再来声明一个方法。我们这个方法的功能呢,就是你可以来传任意多的参数,我在这打印一下所有参数有多少个啊,整个参数的长度,比如我们来分别调用这两个方法,我们调第一,第一次调用我们给它传了两个参数,第二个呢,调了传了四个参数,那么在这呢,分别打印参数的长度,第一个是二,第二个是四,我们可以看控制台,诶二四没问题,如果我们也可以传不定参数,包括呢,我们再来看一个特性,还有叫箭头函数,诶这个东西呢,我们后来在写的时候也用的比较多,我们来看一下这个语法,比如举一个例子,我们以前呢,是这么来声明一个方法的。
02:25
我们在声明这个方法的时候呢,我们参数位置呢,传了一个obj方法体呢,就是在控制台打印,那这种声明方法呢,有点麻烦,我们可以写成这样子的好,还是我们来声明方法,以前呢要写方式这么一堆,现在我们可以来写,这样如果只有一个参数,我们直接写个等于号obj,接下来把它的方法体我们来写一个箭头等号,先括号来写一个箭头方法体的内容直接给这一复制,那就代表呢传一个obj参数,然后呢,执行这个功能,我们可以来调用一下conso,诶我们不用consolo,我们直接来调用print方法,因为它呢可以传一个obj参数,好,我们就来给它传一个hello来保存一下,来看我们的控制台现在打印出hello没问题,这是我们说的箭头函数,传了一个参数,那如果我们传了多个参数,比如呢,我们有这么一个方法。
03:23
哎,我们有这么一个方法。这个方法呢,那就是求两数之和,这是我们以前声明方法,如果变成箭头函数,我们可以这么来写,比如SUM2,那怎么来写呢?如果有多个参数,用小括号把多个参数括起来,我们AB2个参数,然后呢,同样来写一个箭头等于号间括号,然后呢,我们方法体是返回A加B的结果,由于这呢只有一一行方法,而且呢还有返回,我们直接呢,可以把这一行写在这,它会自动返回,把这一行计算的结果返回。好这是我们新式声明方法,我们可以来测试一下conso.log,我们调用SUM2来给我们加上两个数,11 12。
04:09
保存我们来看控制台现在得到23也没问题,而且呢,如果说我们的这个方法体内有多行代码,比如我们这C先等于A加B,然后呢返回A加C的结果,我们现在有多行代码,那我们如何来声明呢?诶们同样来画SUM3啊,我们第第二种声明方式,等于同样它有多个参数,用小括号先括起来,然后呢再来写一个箭头,由于呢它方法起的内容多,所以我们写一个大括号,把我们的方法体括起来,然后呢,我们把这一堆复制来,这就是它的方法体,好这样呢,这就是我们又一种声明方法的方式,我们来测试一下conso.log好,我们来测试调用SOME3来传一个十。20我们来保存,来看一下结果,诶,最终是40没问题,这就是我们说的箭头函数,我们呢,再来给大家测试一个稍微复杂的事例,看大家能否看得懂这个语法,比如呢,我们来到这儿来,我在这呢声明了一个对象,好还是我们这个声明了一个对象,这个好,之前没有声明过好,没问题,那现在呢,声明了一个对象,然后呢,接下来我想要做的方式就是,比如我写了一个方法,这个方法呢,Hello方法传入这个person对象,我呢,打一个招呼,打出字符串hello,加上我们这个人的名字,从对象中取出这个名字,如果现在用我们新版的箭头函数如何声明呢?比如我写一个哇哈二如何声明?我们这么来声明,首先我写一个小括号obj,那随便obj或者person,那意思呢,我们现在有一个参数叫person,然后呢,我再来一个。
05:59
箭头函数,箭头函数要干什么事,要在控制台打印好,要在控制台打印好,那我在我现在呢,调用一下这个方法,HELLO2HELLO2,我把person呢传进去。
06:13
Hello,二呢是这么声明的,而person呢,传过去他帮我们打印person的name name或者呢,我们把这叫obj,大家可能好看一点,这就是一个参数啊,PAR我们就叫PAR,你给我传过来的参数的名字,那我现在参数呢,传的是一个person,给我们打印出person的name,我们现在来测,诶这个是好的,但是呢,我现在这么来写,大家看好啊,既然我要打person的name,我把这一块呢,我写上一个。大括号name这个东西叫什么呢?这叫结构,有呢,我传过来是一个person对象,然后呢,解构出person对象里边的name,而且呢,它变量名叫name,想要打印呢,直接在这打印,我来保存。
07:00
我们来看,诶,现在还是hello Jack,所以呢,我最终写了这么一个表达式,相当于呢,箭头函数加上我们结构表达式,箭头函数加结构,哎,这种语法呢,看起来稍微难一点,但是呢,我们理解了,我们以后可能会经常用到这种写法。
我来说两句