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 相关文章推荐
javascript 面向对象编程 function也是类
Sep 17 Javascript
jQuery老黄历完整实现方法
Jan 16 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
Mar 31 Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
angularjs下拉框空白的解决办法
Jun 20 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
layui 实现表格某一列显示图标
Sep 19 Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 Javascript
Vue实现小购物车功能
Dec 21 Vue.js
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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
PHP计数器的实现代码
2013/06/08 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
php生成图片验证码的方法
2016/04/15 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python Flask实现restful api service
2017/12/04 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
用Python解决x的n次方问题
2019/02/08 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
最美家庭活动方案
2014/08/31 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript