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中递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
本篇文章主要介绍了照片瀑布流效果,实现图片自动加载的瀑布流效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-01-01页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
下面小编就为大家带来一篇页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-08-08检查输入的是否是数字使用keyCode配合onkeypress事件
检查输入的是否是数字在本文使用keyCode配合onkeypress事件来实现,具体示例如下2014-01-01getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
天在csdn上看到有人问 getElementsByTagName 和 selectNodes谁更快 ,这个还真没研究过。2010-02-02
最新评论