前言:
如今看官们对“js递归实例”可能比较注重,我们都想要分析一些“js递归实例”的相关知识。那么小编同时在网络上搜集了一些对于“js递归实例””的相关资讯,希望姐妹们能喜欢,朋友们一起来了解一下吧!递归的概念
简单的说就是函数自己调用自己
递归的构成
1、假设递归函数已经写好
2、寻找递推关系
3、将递推关系的结构转换为递归体
4、将临界条件加入到递归体中(一定要加临界条件,某则陷入死循环,内存泄漏)
那什么样的场景用弟归呢,举一下通俗的例子:
假如老百姓每生一个儿子,政府就给100块钱补助,算一下你家四代后政府一共给了多少补助。这个例子是不是很通俗。下边我们用JS写一下这个程序:
var yeye= {
name:"王一",
haizi:[
{
name:"王一 一",
haizi:[
{name:"王小一"}
]
},
{
name:"王一 二",
haizi:[
{name:"王小二"}
]
},
{
name:"王一 二",
haizi:[
{name:"王小三"}
]},
]
}
buzhu = 0
function jishuan( fubei){
//如果有下一代进入循环,没有退出
if((fubei.haizi||[]).length){
//累加补助
buzhu += fubei.haizi.length*100;
for(var i=0;i<fubei.haizi.length;i++){
//用方法本身再计算下一代的下一代,直到没有下一代退出函数
jishuan( fubei.haizi[i])
}
}
}
标签: #js递归实例