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中为String对象添加trim,ltrim,rtrim方法
Sep 22 Javascript
jQuery EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
另一个javascript小测验(代码集合)
Jul 27 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
Aug 26 Javascript
jQuery响应enter键的实现思路
Apr 18 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
javascript原型模式用法实例详解
Jun 04 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
webpack v4 从dev到prd的方法
Apr 02 Javascript
js实现一个页面多个倒计时的3种方法
Feb 25 Javascript
如何实现双向绑定mvvm的原理实现
May 28 Javascript
vue.js循环radio的实例
Nov 07 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
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
Three.js快速入门教程
2016/09/09 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
详解python中executemany和序列的使用方法
2017/08/12 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
安卓程序员求职信
2014/02/28 职场文书
学期评语大全
2014/04/30 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
2015年导购员工作总结
2015/04/25 职场文书
六五普法心得体会2016
2016/01/21 职场文书
假期读书倡议书3篇
2019/08/19 职场文书