JS中递归函数
本文向大家介绍JS中递归函数,包括了JS中递归函数的使用技巧和注意事项,需要的朋友参考一下
编程语言中,函数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中递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。