龙空技术网

Javascript 函数递归

Javascript星球 194

前言:

如今看官们对“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递归实例