递归函数是调用自身的函数。以下代码显示了一个简单的递归示例。
功能问题(){
麻烦();
}
像上面的递归功能无条件地称为自身,导致无限递归。为了防止这种情况发生,实际递归函数仅在满足给定的条件时呼叫自己。
这里,要比较递归函数和普通循环函数的使用,我将使用一个简单的例子来计算数字的数学阶乘。
方法1 - 使用递归方式
功能因子(n){
if(n <0){返回;} else {return n * arberial(n-1);}}
方法2 - 使用没有递归的循环
功能因子(n){
if(n <0){返回;}否则{var结果= 1;for(var i = 1; i <= n; i ++){结果=结果* i;返回结果;}}
功能递归被认为优雅的因为它提供了一个简单的解决方案 - 反复调用相同的功能 - 以解决一个复杂的问题。然而,重复的函数调用比循环迭代效率低。计算因子的非递归方法是比递归方法更有效的次数,这也提供了Flash运行时的最大递归限制(默认值1000),但可以通过编译器参数默认脚本限制设置。
来自个人象征,我更喜欢循环迭代而不是递归。
传播爱心
你好,
您是否知道使用上面的代码比较有任何教程示例。
谢谢…
j