JS中递归函数


Posted in Javascript onJune 17, 2016

编程语言中,函数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 相关文章推荐
可以文本显示的公告栏的js代码
Mar 11 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
jQuery中contents()方法用法实例
Jan 08 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
js判断手机号运营商的方法
Oct 23 Javascript
jqGrid用法汇总(全经典)
Jun 28 Javascript
js select实现省市区联动选择
Apr 17 Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 Javascript
微信小程序 数据遍历的实现
Apr 05 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
代码详解javascript模块加载器
Mar 04 Javascript
vue项目中使用fetch的实现方法
Apr 25 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 #Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 #Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 #Javascript
聊一聊JS中this的指向问题
Jun 17 #Javascript
json实现添加、遍历与删除属性的方法
Jun 17 #Javascript
confirm确认对话框的实现方法总结
Jun 17 #Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 #Javascript
You might like
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
Vue响应式原理详解
2017/04/18 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
Python递归实现打印多重列表代码
2020/02/27 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
优秀纪检干部材料
2014/08/27 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
党员民主生活会材料
2014/12/15 职场文书
校车安全管理责任书
2015/05/11 职场文书
教师聘用意向书
2015/05/11 职场文书
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android
如何基于python实现单目三维重建详解
2022/06/25 Python