JS递归函数的运行
程序员文章站
2022-06-22 17:13:17
递归函数什么是递归函数递归就是一个函数在它的函数体内自己调用自己。执行递归函数将反复调用其自身。递归函数必须有结束条件,否则会出现死循环。当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。所以递归要有两个要素,结束条件与递推关系。要实现递归要书写两个内容:一个是满足结束条件的时候结束函数;一个是不满足结束条件的时候要执行的代码;function sum(){console.log(1)sum()}sum()//sum()函数调用sum,执行sum里面的代码,打印1,又执...
递归函数
什么是递归函数
递归就是一个函数在它的函数体内自己调用自己。执行递归函数将反复调用其自身。递归函数必须有结束条件,否则会出现死循环。
当函数在一直递推,直到遇到墙后返回,这个墙就是结束条件。
所以递归要有两个要素,结束条件与递推关系。
要实现递归要书写两个内容:
一个是满足结束条件的时候结束函数;
一个是不满足结束条件的时候要执行的代码;
function sum(){
console.log(1)
sum()
}
sum()
//sum()函数调用sum,执行sum里面的代码,打印1,又执行sum,又打印1,又执行sum... 这种叫做死递归。
- 开始书写:写递归函数先要写一个结束条件(为了避免出现"死递归")
function add(n){
// 当n===5的时候就要结束
if(n===5){
return 5;// `在这里插入代码片`
}
}
- 再写不满足条件我们的递归处理
function add(n){
//add(n)这个函数的作用是:1到n的累加和
//当n===5的时候就要结束
if(n===5){
return 5;
}else{
return add(n-1)+n;
}
}
递归案例
计算1到5的阶乘
function sum(n){
if(n==1){
return 1;
}else{
return n+sum(n-1);
}
}
console.log(sum(5));
运行过程:
sum(5)
(5*sum(4))
(5*(4*sum(3)))
(5*(4*(3*sum(2))))
(5*(4*(3*(2*sum(1)))))
(5*(4*(3*2)))
(5*(4*(6)))
(5*24)
120
本文地址:https://blog.csdn.net/Web995/article/details/107282443
上一篇: 如何将it is good 转换成 good it is
下一篇: android 蓝牙小总结
推荐阅读
-
怎么限制递归函数的次数
-
javascript - php 有什么函数是可以根据文件名称,来获取这个文件的全路径的吗?或者js 怎么获取文件的全路径?
-
计算php页面运行时间的函数介绍_PHP
-
php 递归函数的三种实现方式,php递归函数三种
-
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)_php技巧
-
js中函数substr()、match()的作用
-
怎么找回回收站删除的文件 php自定义函数之递归删除文件及目录
-
JS脚本加载后执行相应回调函数的操作方法
-
【PHP】array_walk_recursive ― 对数组中的每个成员递归地施用用户函数
-
Python进阶之递归函数的用法及其示例