美文网首页web颜值要爆表WebWeb前端之路
JavaScript函数表达式——递归

JavaScript函数表达式——递归

作者: 胖胖冰 | 来源:发表于2017-05-26 10:49 被阅读20次

    递归

    递归函数是在一个函数通过名字调用自身的情况下构成的。

            function factorial(num) {
                if(num<=1){
                    return 1;
                }else{
                    return num*factorial(num-1);
                }
            }
    
            var anotherFactorial = factorial;
            factorial = null;
            alert(anotherFactorial(4));//error
    

    使用arguments.callee是一个执行正在执行的函数的指针。

            function factorial(num) {
                if(num<=1){
                    return 1;
                }else{
                    return num*arguments.callee(num-1);
                }
            }
    

    严格模式下,arguments.callee会发生错误,用命名函数表达式可达成相同结果。

            var factorial = (function f(num) {
                if (num<=1) {
                    return 1;
                }else{
                    return num*f(num-1)
                }
            });
    

    相关文章

      网友评论

        本文标题:JavaScript函数表达式——递归

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