javascript中递归的写法

在javascript中递归主要用到arguments对象的callee方法。arguments对象是javascript的内置对象,所有的javascript函数都有属于自己的一个arguments对象,该对象代表正在执行的函数和调用它的函数的参数。可以通过arguments.length获取函数的参数个数,arguments[index]获取函数参数的值,arguments.callee(参数)执行当前函数对象。虽然可以通过length和下表访问该对象的值,但是agruments不是个数组。

/**

**javascript中阶乘的递归写法

**/

function factorial(n){
		if(n==0)
			return 1;
		else
			return n * factorial.arguments.callee(n-1);
	}

 /**

**javascript中阶乘的非递归写法

**/

function factorial(n){
		var result=1;
		while(n>1){
			result * =n;
			n--;
		}
		return result;
	}

相关推荐