JS中递归函数

2019-12-17,,

编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。

递归函数:

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*factorical(num-1);
  }
}
factorial(2)//2

这个递归函数就是用函数来调用函数本身,但是这样真的好吗,好 接下来看这里

var another=factorical;
factorical=null;
console.log(another(2))//会报错说 factorical not a function

这就是函数调用函数的弊端,那怎么解决呢,看下面

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*arguments.callee(num-1);
  }
}
var another=factorical;
factorical=null;
console.log(another(2))//2

以上 用arguments.callee去代替函数名,就可以确保函数不管怎么调用都不会出错。

以上所述是小编给大家介绍的JS中递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对北冥有鱼网站的支持!

您可能感兴趣的文章:

  • JavaScript几种形式的树结构菜单
  • 详解JavaScript树结构
  • JAVA 根据数据库表内容生产树结构JSON数据的实例代码
  • 树结构之JavaScript
  • java根据数据库表内容生产树结构json数据的方法
  • js中递归函数的使用介绍
  • Vue.js 递归组件实现树形菜单(实例分享)
  • JavaScript的递归之递归与循环示例介绍
  • JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
  • 优雅的使用javascript递归画一棵结构树示例代码

《JS中递归函数.doc》

下载本文的Word格式文档,以方便收藏与打印。