Javascript 函数递归

  • 递归的概念
    简单的说就是函数自己调用自己
  • 递归的构成
    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]) //用方法本身再计算下一代的下一代,直到没有下一代退出函数
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值