如果函数有名字,而且名字以后也不会变,那么定义就没问题了。但问题是函数的执行与函数名factorial紧密耦合。
1、消除紧密耦合的现象,可以使用arguments.callee。
2、在重写的factorial()函数中,函数名称factorial不再被引用。使用的名称可以保证递归调用的正常完成。
实例
vartrueFactorial=factorial; factorial=function(){ return0; }; alert(trueFactorial(5));//120 alert(factorial(5));//0
以上就是JavaScript使用递归定义阶乘函数,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容