函数自调用思想
设计一个需要重复执行的代码作为函数体,通过条件判断利用函数自调用来执行重复的逻辑,当到达某个临界条件就结束函数自调用,返回函数自调用结束时的最后一次的值。
案例:
1.用于计算阶乘(1 * 2 * 3 ... * 10)
2.数组中套有数组和数字打印所有数字
先遍历数组,取出的是数字就打印,取出的是数组再自调用函数遍历数组。设计一个函数其执行的重复逻辑就是用于遍历数组,当遍历得到的是数字结束函数自调用,就打印这个数字,遍历得到的是数组就函数自调用遍历这个数组。
对象方法有函数名自调用
定义时有函数名,则可以在函数体内部直接访问。
这里不可以直接使用say(),fn标识符是函数定义时的函数名,则函数体内部可直接访问,以直接使用fn() 。
匿名函数自调用
在匿名函数内部用arguments.callee可自调用。callee是实参类数组对象的属性,代表当前运行的函数对象