再此之前呢,我们要先知道什么是递归函数?
一.什么是递归函数?
递归函数:是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,也是一种循环运算的一种算法模式。这种技术可以用来解决一些复杂的问题,比循环更简洁易懂。
递归函数是需要有边界条件的,如果没有那么它就会无限制的调用这个本身,就会出现死循环。所以必须要有一个终止处理或计算的出口,我们给它设置一个结束条件,就是为了避免出现死循环。
function fn(){ //一个fn的函数 console.log(12345); //打印的数字 fn(); //调用的函数本身 } fn(); //调用的函数
这就是一个死循环。
优缺点:
- 优点:结构清晰,可读性强,为设计算法,调试程序带来方便。
- 缺点:运算效率低,所耗费的计算时间1和占用的存储都比非递归函数要多。