美文网首页
js中的递归

js中的递归

作者: 诺奕 | 来源:发表于2017-04-18 09:54 被阅读171次

一、递归的概念(函数自己调用自己)

**1. ** 在程序中函数直接或间接调用自己
**2. **跳出结构,有了跳出才有结果
**3. **递归的思想就是将一个未知问题转换为一个已解决的问题来实现

二、实例

例1:求1-100的和
思路:100项与99项的和,99项与前98项的和,第98项与前97项的和。。。第3项与前2项的和,第1项与前1项的和(sum(1))
所以函数为:

function sum(n){
    if(n==1) return 1;//如果是第一项直接返回,
    return sum(n-1) + n;//不是第一项就与前面的相加,将结果返回
}

例2:斐波那契数列(兔子数列)
已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?
已知兔子的规律为数列: 0,1,1,2,3,5,8,13,21...
思路:新的一项为前项之合。

  var arr=[];
    function Rabbit(n){
        if(n<=2){
            return 1;
        }else{
            if(arr[n]){
                return arr[n];
            }else{
                arr[n]=Rabbit(n-1)+Rabbit(n-2);
                return arr[n];
            }
            
        }
    }
    document.write(Rabbit(8));

例3:无限运动

            var arr = [
                {left:100,top:200},
                {left:300,top:250},
                {left:400,top:400},
                {left:500,top:450}
            ];
            var n = 0;
            function  next(){
                move(oBall,arr[n],{complete:next});//这是一个运动函数,运动结束之后进行回调next函数
                n++;
                if(n == arr.length){
                    n = 0;
                }
            }
           next(); 

相关文章

  • js中的递归

    一、递归的概念(函数自己调用自己) **1. ** 在程序中函数直接或间接调用自己**2. **跳出结构,有了跳出...

  • JavasScript重难点知识

    JS 中的递归 递归, 递归基础, 斐波那契数列, 使用递归方式深拷贝, 自定义事件添加这一次,彻底弄懂 Java...

  • js中递归的使用

    自己调用自己,称为递归调用 举例 求阶乘 斐波那契数列第n项 快速排序 总结 相同的算法循环,寻找本次结果与上次结...

  • 树形结构递归/原生js实现/vue递归组件

    原生js实现递归渲染 Vue2.0递归组件

  • Javascript中的深拷贝

    JS 中深拷贝的几种实现方法 1、使用递归的方式实现深拷贝 //使用递归的方式实现数组、对象的深拷贝 functi...

  • JS中函数的递归调用

    递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示。 这是一个经典的递归阶乘函数。虽然这个函数表面看来没...

  • 组件递归 & js递归

    一、el-tree实现原理—组件递归 举一个栗子: 1、组件引入,并调用。组件name为“func-table” ...

  • js递归

    递归 何为递归 递归,就是在运行的过程中调用自己,一般情况下多为函数自己调用自己。 构成递归需具备的条件 子问题须...

  • js递归

    递归 递归的概念在程序中函数直接或间接调用自己直接调用自己简介调用自己跳出结构,有了跳出才有结果思想递归的调用,最...

  • JS 递归

    函数递归Factorial称之为阶乘,维基百科是这样描述的“一个正整数的阶乘是所有小于及等于该数的正整数的积,并且...

网友评论

      本文标题:js中的递归

      本文链接:https://www.haomeiwen.com/subject/ctcfzttx.html