函数递归
来源:互联网 发布:淘宝卖家电话是多少 编辑:程序博客网 时间:2024/06/06 00:21
递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示的一个经典的阶乘函数
在非严格模式下,可用如下方法,实现
严格模式下,不能通过脚本访问arguments.callee,可用下面的命名函数表达式来达成相同的结果
function factorial(num){ if (num < 1){ return 1; }else{ return num * factorial(num - 1); } }当使用如下代码却可能导致它出错
var anotherFactorial = factorial; factorial = null; alert(anotherFactorial(4));//出错
在非严格模式下,可用如下方法,实现
function factorial(num){ if(num < 1){ return 1; }else{ return num * arguments.callee(num -1);//arguments.callee是一个指向一个正在执行的函数的指针 } }
严格模式下,不能通过脚本访问arguments.callee,可用下面的命名函数表达式来达成相同的结果
var factorial = (function f(num) { if(num<1){ return 1; }else{ return num * f(num -1 ); } });
阅读全文
0 0
- [递归]递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 函数递归
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 函数递归
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- 递归函数
- Linux epoll 实现封装
- 文章标题
- hbuilder 真机调试,检测不到处理方式(魅族手机)
- 不仅仅要做一个coder,还要做一个骚客
- iOS开发-CocoaPods使用详细说明以及解决部分报错
- 函数递归
- 推荐系统那点事 —— 什么是用户画像?
- Gson解析
- jvm垃圾回收算法(并发垃圾收集器(CMS)为什么没有采用标记整理-算法来实现,而是采用的标记-清除算法?)
- 监控利器 --- Zabbix的资产管理系统
- VC使用CRT调试功能来检测内存泄漏
- FastMM使用详解
- 9个最佳的大数据处理编程语言
- 时间戳转化为时间格式