Javascript 实现匿名递归

介绍了在 javascript 中利用 arguments.callee 来实现匿名递归的方式.

递归是一种常见的编程技巧, 实名递归相信大家都不陌生, 但如果想要实现匿名递归呢? 比如想要返回一个匿名递归函数, 又或者是定义一个匿名递归函数并直接调用它, 该怎样去做呢? 本文将来探讨一下它的实现.

实名递归

我们还是先从实名递归说起吧, 还是用那个最简单的求阶乘的例子:

function fact(n) {
	if (n < 2) {
		return n;
	} else {
		return n * fact(n - 1);
	}
}
console.log(fact(5));

递归要求自己调用自己, 如果函数有名字, 这就太简单不过了.

继续阅读