JavaScript使用递归定义阶乘函数

如果函数有名字,而且名字以后也不会变,那么定义就没问题了。但问题是函数的执行与函数名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
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容