三十七.函数自调用

160 阅读1分钟

函数自调用思想

设计一个需要重复执行的代码作为函数体,通过条件判断利用函数自调用来执行重复的逻辑,当到达某个临界条件就结束函数自调用,返回函数自调用结束时的最后一次的值。

案例:

1.用于计算阶乘(1 * 2 * 3 ... * 10)

image.png

image.png

2.数组中套有数组和数字打印所有数字

先遍历数组,取出的是数字就打印,取出的是数组再自调用函数遍历数组。设计一个函数其执行的重复逻辑就是用于遍历数组,当遍历得到的是数字结束函数自调用,就打印这个数字,遍历得到的是数组就函数自调用遍历这个数组。

image.png

image.png

对象方法有函数名自调用

定义时有函数名,则可以在函数体内部直接访问。

image.png

image.png

这里不可以直接使用say(),fn标识符是函数定义时的函数名,则函数体内部可直接访问,以直接使用fn() 。

匿名函数自调用

在匿名函数内部用arguments.callee可自调用。callee是实参类数组对象的属性,代表当前运行的函数对象

image.png

image.png