美文网首页好程序员大前端
好程序员web前端培训分享函数作用域及递归

好程序员web前端培训分享函数作用域及递归

作者: ab6973df9221 | 来源:发表于2019-06-04 14:13 被阅读0次

    好程序员web前端培训分享函数作用域及递归:作用域的生命周期。

    var a = 10;

    function m1(){ 

        var a = 5;

        alert(a);

    }

    形参(形式参数)与实参(实际参数)的重要区别

    var a = 10;

    var x=0;

    function fn(x){

        x =a + 10;

    }

    fn (a);

    递归的用法

    什么是递归?

    自身调用自身!

    function pr(){

        return pr()

    }

    关键点:

    1.终止条件

    2.运算规则

    function pr(n){

         if(n==1){  // 终止条件

              return n;

         }

         return pr(n-1)+n;    

    }

    打印任意个hello world;

    function pr(n){

        if(n==0){

            return

        }

        document.write('hello world!!<br>');

        return pr(n-1);

    }

    pr(10)

    案例:求n个数字的和,5 计算1+2+3+4+5

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8" />

    <title></title>

    </head>

    <body>

    </body>

    <script type="text/javascript">

    //函数的声明

    function getSum(x) {

    if (x == 1) {

    return 1;

    }

    return x + getSum(x - 1);

    }

    //函数的调用

    console.log(getSum(5));

    </script>

    </html>

    案例:输出斐波那契额数列数列的前20项(递归)

    斐波那契数列指的是这样一个数列1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8" />

    <title></title>

    </head>

    <body>

    </body>

    <script type="text/javascript">

    function fib(n) {

    if (n == 1 || n == 2) {

    return 1

    }

    return fib(n - 1) + fib(n - 2)

    }

    for (var i = 1; i <= 20; i++) {

    document.write(fib(i) + '<br>')

    }

    </script>

    </html>

    ������>�

    相关文章

      网友评论

        本文标题:好程序员web前端培训分享函数作用域及递归

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