JavaScript递归函数定义与用法实例分析
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了JavaScript递归函数定义与用法,结合实例形式分析了javascript递归的原理、函数定义、使用方法及操作注意事项,需要的朋友可以参考下
本文实例讲述了JavaScript递归函数定义与用法。分享给大家供大家参考,具体如下
递归函数是一个函数通过名字调用自身的情况下形成的,比如经典的递归阶乘函数
function factorial(num) { if (num <= 1) { return 1; } else { return num factorial(num - 1); } }
上面的这种写法,可能会造成问题
var anotherFactorial = factorial; factorial = null; console.log(anotherFactorial(4));//出错
因为 factorial 函数定义内部使用了自身的函数名,所以当 factorial 被置为 null 后,factorial 已不是函数,自然报错啦 O(∩_∩)O~。
可以使用 arguments.callee 指向正在执行的函数的指针来避免上面出现的问题
function factorial(num) { if (num <= 1) { return 1; } else { return num arguments.callee(num - 1); } } var anotherFactorial = factorial; factorial = null; console.log(anotherFactorial(4));
运行结果24
但在严格模式下,不能访问 arguments.callee
,但可以使用命名函数表达式来实现上述功能
var factorial = ( function f(num) { if (num <= 1) { return 1; } else { return num f(num - 1); } } ); var anotherFactorial = factorial; factorial = null; console.log(anotherFactorial(4));
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南