JavaScript中的递归函数

再此之前呢,我们要先知道什么是递归函数?

一.什么是递归函数?

递归函数:是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,也是一种循环运算的一种算法模式。这种技术可以用来解决一些复杂的问题,比循环更简洁易懂。

递归函数是需要有边界条件的,如果没有那么它就会无限制的调用这个本身,就会出现死循环。所以必须要有一个终止处理或计算的出口,我们给它设置一个结束条件,就是为了避免出现死循环。

复制代码
function fn(){	            //一个fn的函数
	console.log(12345);		//打印的数字
	fn();					//调用的函数本身
}
fn();						//调用的函数

这就是一个死循环。

优缺点:

  • 优点:结构清晰,可读性强,为设计算法,调试程序带来方便。
  • 缺点:运算效率低,所耗费的计算时间1和占用的存储都比非递归函数要多。
相关推荐
地平线开发者1 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者1 小时前
【征程6】校准量化中HistogramObserver解析
算法
OuO-22 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
程序喵大人3 小时前
【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图
开发语言·c++·算法
豆沙沙包?3 小时前
c++中引用(P7-P11)
java·c++·算法
不会代码的小猴3 小时前
标准模板库(STL)
开发语言·c++·笔记·算法
ZhouDevin4 小时前
算法论文/高效微调4——DoRA:权重分解的低秩适配方法
算法
AI探索先锋4 小时前
A* 路径规划:四种算法的进化史-学习
学习·算法
旖旎夜光4 小时前
LeetCode 202:快乐数(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
cpp_25015 小时前
P1113 [USACO02FEB] 杂务
数据结构·c++·算法·动态规划·图论·拓扑排序·洛谷题解