• 递归的简要介绍和理解


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 
     8 <body>
     9 <script>
    10     /*
    11     * 递归
    12     *   函数自己(内部)调用自己,递归
    13     *
    14     *   递归,本质上就是一个循环
    15     * */
    16 
    17 //    function fn1() {
    18 //        fn1();
    19 //    }
    20 //    fn1();
    21 
    22 //    function fn() {
    23 //        setTimeout(function () {
    24 //            console.log(1);
    25 //            fn();
    26 //        }, 100);
    27 //    }
    28 //    fn();
    29 
    30 //    function fn1() {
    31 //        console.log(1);
    32 //        fn2();
    33 //    }
    34 //
    35 //    function fn2() {
    36 //        console.log(2);
    37 //        fn1();
    38 //    }
    39 //
    40 //    fn1();
    41 </script>
    42 </body>
    43 </html>

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>

    <body>
    <script>
    /*
    * 阶乘
    * */

    function factorial(n) {
    if (n == 1) {
    return 1;
    }
    return n * factorial(n-1);
    }

    /*
    * 5 * factorial(4)
    * 5 * 4 * factorial(3)
    * 5 * 4 * 3 * factorial(2)
    * 5 * 4 * 3 * 2 * factorial(1)
    * 5 * 4 * 3 * 2 * 1
    *
    * 先调用的:factorial(5)
    * 最后一次调用的:factorial(1)
    *
    * factorial(1)先执行完,factorial(5)是最后一次执行完成的
    *
    * 先进后出 -> FILO -> FirstInLastOut -> 栈
    * 先进先出 -> FIFO -> FirstInFirstOut -> 队列
    * */

    console.log( factorial(5) );

    </script>
    </body>
    </html>

  • 相关阅读:
    Eclipse护眼技巧
    Maven搭建SSM框架(Spring+SpringMVC+MyBatis)
    Spring之各jar包作用
    Maven新建web项目jsp报错
    js金额转大写(万元为单位)
    linux常用指令
    ie8下数组不支持indexOf方法解决方法
    string,stringBuffer,stringBuilder的比较
    input限制输入
    spring boot Mybatis --maven
  • 原文地址:https://www.cnblogs.com/catEatBird/p/6954133.html
Copyright © 2020-2023  润新知