如果函数有名字,而且名字以后也不会变,那么定义就没问题了。但问题是函数的执行与函数名factorial紧密耦合。
1、消除紧密耦合的现象,可以使用arguments.callee。
2、在重写的factorial()函数中,函数名称factorial不再被引用。使用的名称可以保证递归调用的正常完成。
实例
var trueFactorial = factorial; factorial = function(){ return 0; }; alert(trueFactorial(5)); //120 alert(factorial(5)); //0
以上就是JavaScript使用递归定义阶乘函数,希望对大家有所帮助。更多Javascript学习指路:Javascript
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试