<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
By Ben
比如求 10! 的结果
有两种解法:
法一:
一般的做法:
//===========================
document.writeln("
递归算法一:
");
//===========================
function factorial(x) {
if(x return 1;
else
return x * factorial(x - 1);
}
document.writeln("10!=" + factorial(10));
法二:
还可在类的方法中执行递归,但这有点儿冒险。
在JavaScript中调用类的方法名来进行递归,会造成“Object Expected”错误。为避免这个错误,必须用方法的基本函数名或callee参数来执行递归。以清单D为基础,我在myMath类中添加了阶乘方法,如下所示。
document.writeln("
递归算法二:
");
function myMath() {
//=======================================
this.result; //Result of method
this.factorial = myFactorial; //Factorial method
function myFactorial(x) {
if(x return 1;
else {
this.result = x * arguments.callee(x - 1);
return this.result;
}
}
//=======================================
}
var math = new myMath(); // Create an instance
document.writeln("10! =" + math.factorial(10));
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=192304
分享到:
相关推荐
.net 递归算法.net 递归算法.net 递归算法.net 递归算法.net 递归算法.net 递归算法.net 递归算法.net 递归算法
递归算法详解递归算法详解递归算法详解递归算法详解
VC对磁盘文件遍历搜索的递归算法和非递归算法 里面的文档是讲解递归算法和递归算法的 里面还有一个Vc工程文件,是我自己写的,关于非递归算法,其实里面那些被注释掉的部分是递归算法,大家仔细看看就知道了,
5!递归算法和非递归算法,面试专用,适合新手
递归算法转为非递归算法。方法、过程,用栈的原理
18.递归算法与递归算法应用.ppt
递归算法计算二叉树中叶子节点的数目
acm递归算法总结acm递归算法总结!!!!!!!!!!!!!!!!!!!!!!!
快速选择非递归与递归算法实现
快速排序算法设计与分析总结 二叉树与树的转换前序、后序的递归、非递归算法,层次序的非递归算法的实现 二叉树与树的转换前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现 实现树与...
折半查找的递归算法,非常实用,可以实现的C语言程序
主要描述递归算法的 程序设计的 巧妙的应用
高中信息技术递归算法的实现,教案,方便老师备课,激发学生的学习兴趣
递归算法专题ppt
用非递归解决八皇后的问题,是经典的非递归算法,学习数据结构中很有用
这个算法是标准的递归,用form来进行递归来计算出10的阶层。有兴趣的朋友可以看看。程序复制在TXT文档中,用se38报表形式展现。
主要介绍了Python基于递归算法实现的走迷宫问题,结合迷宫问题简单分析了Python递归算法的定义与使用技巧,需要的朋友可以参考下
C语言二叉树遍历前序非递归算法,简单易懂,正确无误
合并排序递归和非递归算法的实现可以让人理解到递归算法的实现有时候比非递归算法效率高很多,人只需要给出一个递归公式和一个递归出口,所有的事都可以交给计算机来完成了
递归算法在VB程序设计中的实现 摘 要:递归是计算机科学的一个重要概念,递归算法是程序设计中经常采用和有效的编程方法。用递归设 计的程序结构比较简洁和清晰,但递归算法是较难理解和掌握的,因此,对递归算法的概念...