JavaScript

函数的递归调用

2019-08-04  本文已影响0人  Aniugel

函数的递归调用:就是指函数调用本身
argument.callee就是指向函数自身的变量,所以直接用它来调用匿名函数,在匿名函数中非常有用,但是在严格模式下会报错。

案例一:求1-100的和
// 常规写法
    var sum = 0, n = 101;
    for (var i = 0; i < n; i++) {
        sum += i;
    }
    console.log(sum)
    // 递归方法 函数自己调用自己
    function fn(i) {
        // 一定要有个出口
        if (i == 1) {
            return 1;
        }
        // return i + fn(i - 1)
        return i + arguments.callee(i - 1)
    }
    var sum = fn(100)
    console.log(sum)
案例二:求10的阶层
 function fn(i) {
        // 一定要有个出口
        if (i == 1) {
            return 1;
        }
        // return i *fn(i - 1)
        return i * arguments.callee(i - 1)
    }
    var sum = fn(10)
    console.log(sum)
上一篇 下一篇

猜你喜欢

热点阅读