JavaScript中的递归函数

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

一.什么是递归函数?

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

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

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

这就是一个死循环。

优缺点:

  • 优点:结构清晰,可读性强,为设计算法,调试程序带来方便。
  • 缺点:运算效率低,所耗费的计算时间1和占用的存储都比非递归函数要多。
相关推荐
KobeSacre24 分钟前
CyclicBarrier 源码
java·jvm·算法
手写码匠25 分钟前
注意力机制全家桶:从 Multi-Head 到 GQA 再到 Flash Attention 的手写实现
人工智能·深度学习·算法·aigc
学究天人1 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷3.2)
线性代数·算法·机器学习·数学建模·动态规划·抽象代数·拓扑学
tkevinjd1 小时前
力扣322-零钱兑换
算法·leetcode·动态规划
大鱼>1 小时前
AI+资产监控:农业设施智能监控系统
人工智能·深度学习·算法·机器学习
AI科技星2 小时前
乖乖数学·全域超复数统一场论:五大核心门槛与全套标准定量数据
人工智能·python·算法·金融·全域数学
Frostnova丶2 小时前
(13)LeetCode 53. 最大子数组和
算法·leetcode·职场和发展
什巳2 小时前
JAVA练习277- 找到字符串中所有字母异位
java·开发语言·算法·leetcode
机器学习之心2 小时前
基于遗传粒子群混合算法的无人机三维路径规划:Matlab 实现与多算法对比分析
算法·matlab·无人机·无人机三维路径规划·遗传粒子群混合算法
chh5632 小时前
C++--vector
开发语言·c++·学习·算法