AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

JS中递归函数

51自学网 http://www.wanshiok.com
递归函数

编程语言中,函数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中递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对wanshiok.com网站的支持!


递归函数  
上一篇:JavaScript简单实现弹出拖拽窗口(二)  下一篇:jQuery ajax中使用confirm,确认是否删除的简单实例