1、一:考考你:函数执行结束后是否还有其它的语句输出?如下图:
2、举个例子:如下图
3、注:如上面例子是计算两个参数的和,如果在函数结束时不写return undefined的话,它后偷偷的在后面为你加上,也就是函数在结束时默认地为你返回抛出一个值(不一定非是undefined,也可以是其它类型的数据)。想一想:如果我们在函数的未尾用一个变量来接收抛出的值,如下图:
4、大家猜猜看,这时候result抛出去的值是多少?执行程序,结果如下:
5、二:什么是递归?函数内部又调用了函数自身,我们把这种情况叫做递归,如下例:
6、案例分析:首先我们定义了一个函数,然后调用函数:add();在函数体内定义了一个变量a,ua 给它赋值,然后输出a,接着又抛出了函数本身add,大家试橇秆苡螳想一下,这时候函数能执行吗,结果是怎样的呢?如下图:
7、注:这就是我们在程序里面所说的死循环,或者叫函数里面的无限递归(重复执行函数,形成了死循环)。
8、练一练:1、下面我们就用递归来实现求1—100内的数字之和。案例分析:递归的思路找规律找出口(1+2敫苻匈酃+3+4+5…………+100);用递归之前先来个return;,如当n=100时,n=n+add(99),也就是n=n+add(n-1);当n等于1的时候,递归结束,最后用一个变量接收函数抛出的值。代码如下:
9、运行程序,结果如下:
10、例2:求n的阶乘。案例分析:什么是阶乘?如:5的阶乘=5*4*3*2*1找规律:如5的阶乘可以改写成:5乘以4的阶乘,4可以改写成3的阶乘,也就是n乘以(n-1),具体代码如下图:
11、运行代码,结果如下:
12、怎么样,今天讲的小伙伴们都听明白了吗,大家好喜欢的话请关注、收藏、分享、加粉,还有更我精彩的内容在后面等着你们哦!