js递归函数与递归调用的例子

发布时间:2019-08-02编辑:脚本学堂
分享一个js递归函数的小例子,js递归函数调用,感兴趣的朋友参考下。

例子,js递归函数调用。
 

function fact(num) {
   if (num <= 1) {
     return 1;
  } else {
    return num * fact(num - 1);
 }
}

以下代码可导致出错:
 

var anotherFact = fact;
fact = null;
alert(antherFact(4)); //出错

原因在于fact已不是函数了,所以出错。
用arguments.callee可解决问题,这是一个指向正在执行的函数的指针,arguments.callee返回正在被执行的对现象。

新的js递归函数:
 

function fact(num) {
  if (num <= 1) {
     return 1;
  } else {
    return num * arguments.callee(num - 1); //此处更改了。
   }
}
var anotherFact = fact;
fact = null;
alert(antherFact(4)); //结果为24.

javascript中实现递归函数不复杂,希望大家都能掌握。