JavaScript如何使用递归定义阶乘函数

JavaScript如何使用递归定义阶乘函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

如果函数有名字,而且名字以后也不会变,那么定义就没问题了。但问题是函数的执行与函数名factorial紧密耦合。

1、消除紧密耦合的现象,可以使用arguments.callee。

2、在重写的factorial()函数中,函数名称factorial不再被引用。使用的名称可以保证递归调用的正常完成。

实例

var trueFactorial = factorial;
factorial = function(){    
    return 0;
};
alert(trueFactorial(5)); //120
alert(factorial(5)); //0

看完上述内容,你们掌握JavaScript如何使用递归定义阶乘函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!