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 相关文章推荐
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
javascript封装简单实现方法
Aug 11 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
Angular页面间切换及传值的4种方法
Nov 04 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 Javascript
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
JS实现查找数组中对象的属性值是否存在示例
May 24 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
jQuery实现电梯导航模块
Dec 22 jQuery
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
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
Javascript Worker子线程代码实例
2020/02/20 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
应征英语教师求职信
2013/11/27 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
论文评审意见
2015/06/05 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
导游词之长城八达岭
2019/09/24 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
javascript的setTimeout()使用方法总结
2021/11/20 Javascript