00:00
OK,大家好,我是风雨,那我们这节课呢,我们来讲一下函数的参数,那么讲到函数参数呢,我们先来看一个E5的写法开分。A逗号B2个参数是吧,那我们这个函数的目的呢,我们就是来,哎,打印一下我们的A加B就可以了。那外面我们要来执行这个函数的时候,我们需要对我们的这个函数来进行传参,对吧?诶一二,那它输出一个三没有问题对吧?那么一旦我其中一个参数没有传值是怎么办?那它取得默认值是on defend,那么你一个on defend来进行数学运算的时候呢,必然是会得到一个非法的结果啊,就是na,那这个呢,不是我们想要的,那么在ES5里边,我们怎么来避免这种问题呢?那就是给我们的参数来指定默认值,可以这么做,首先我们可以给A来指定一下,比如说A呢,AA如果说你存在,那么就用你自己不存在,那我就用个零,对吧,同样的B也是一样的道理。存在用自己,不存在也用零。那么我们通过这两步呢,就能很好的来避免了这种呃默认值的情况,那当我们不传的时候呢,诶就取到了零啊,这时候呢就不会再是N了,对吧,传个一那就是一了,因为B没有这取到零过来相加,加起来呢,诶就输出来一个一没有问题,那这个呢是ES5的写法,那我们来看一下ES6的一种比较,呃比较帅气的一种写法,那比较帅气,来来看一下,首先还是F来括号,括号。
01:25
同样的还是两个参数A逗号B2个参数,那这个地方呢,还是要来输出我们的A加B,那我们函数执行。诶,函数值行,那传个三逗号四进去,那输出一个七没有问题对吧?诶一旦我没有穿参了怎么办呢?要来指定的默认值,那么ES6要给函数参数指定默认值呢?可以这直接在这个参数的啊这个行参里边来指定,比如说B等于零,那这样呢,我们这样写呢,就是说给B这个参数指定了一个默认值,这个默认值呢,就是等号右边的这一个啊等号右边这个,那它的值呢,诶就是零,那这时候呢,我们只传一个三的时候呢,诶就是三了,因为B的默认值是零,当你没有对B进行传参的时候啊,它就是使用的是默认值,那如果说我传参了,那默认值就不会生效了,对吧?就是我们传递这个参数来生效了,能明白吗?那么A可以指定参数吗?也可以的,比如说我给A指定的参数为十。
02:22
啊,指定一个参数为十,那么当我A有参数的时候呢,那么就就用我们的这个传过去的时差,如果都没有,那么都默认值生效,那么就是十加零等于十啊,这个就是函数参数的默认值。然后要注意的是我们函数的这个参数呀,我们函数的进行参数的传递的时候呢,我们可以跟我们刚才之前讲的那个解构复制来结合使用啊,这个东西怎么用呢?我们再来看一下。我们再来看一下这地方fone。
03:01
诶F分,那这里面我们还是要来打印啊,这个A加B,那这个A加B呢,你看哈,我们这地方怎么来可以怎么来做呢,我们可以这么做啊,可以跟这个解构赋值,那结构复值,刚才我们可以怎么使用,我们使用了那种数组的这种形式,那这里面呢,同样也是可以数值的,那就是A逗号。B就可以了是吧,一个数组,那我们传参的时候FN括号执行,那执行的时候你看这个行参是吧?诶它是一个解构模式的,这个解构复制的这种形式对吧?那我们这地方传过去的值呢,可以这么写吗?可以这么写吗?不可以,为什么呢?因为你使用了几个复制的时候,你的这个模式必须一一对应上,对不对?我们讲几个制的时候说过是吧,模式必须对应上,那我这地方呢,也得传个这种形式是吧?诶传个一二写错了哈。一二啊,我们先我们先把这个括号去掉啊,刚才是写错了是吧,那把括号去掉来保存,这样能行吗?不能行对吧?因为模式对应不上,那我们来对应,对应上的时候呢,诶就等于个括号来把它括起来对吧?那这样呢,它的这个模式呢,就对应上了,对应上的时候呢,就是AA对应了一啊,B对应二,那这样呢,就输出了一个三啊没有问题,那这个呢是数作用形式,那同样的它还可以使用的是我们的这种。
04:15
对象的形式啊,对象的形式,对象形式里面还是A。来写上A逗号A逗号B2个参数,那我们这边传值呢,怎么传?传值怎么传,传值是不是还是也得使用A和B这两个模式吧,那所以A指定的值呢,比如说为三啊逗号B指定的值为五,那这时候传递进去拿拿到这个默认之后呢,诶,它就是八了,对吧?那这地方呢,其实跟我们刚才讲的那个解构复值其实是一样的啊,之前讲的几个复值跟这个是一样的,那它呢,它这个也是个简写方式是吧?它其实也是相当于这个A等于AB是吧,AB等于B,那在里面要使用这个参数的时候呢,使用的时候要注意是后面的,也就是说一定要把后面,比如说改为ABC啊,改为ABC,那这个时候呢,这个ABC和这个什么呢。
05:01
BCD这个ABC和BCD呢,就是他们的变量了,而不是AB了,所以这里面我们要使用AB的时候,拿不到的,必须使用ABC加上这个BCD啊才可以啊,这时候来保存还是八对吧,那这个呢是跟我们这个。解构赋值啊,来进行这个结合使用,那么这个解构赋值搭配我们这个函数啊参数来结合使用的时候呢。有什么好处呢?好处就在于我们可以一次的来返回多个值,比如当我们函数来返回我们,诶原来return的时候,后面一般都是return个值班对吧,那我们现在呢,可以return一个,比如说数组啊,像对象的这种一个形式出来,那return出来的时候,我们在外面也可以对应的来接收啊,对应来接收,那这个呢,使用的呃,也是一样的啊好吧,那这个呢,是我们这个函数参数。
我来说两句