使用arguments对象实现递归

在将参数传递给某个函数时,可以使用arguments对象来访问有关传递给该函数的参数的信息。arguments对象包括一个传递给函数所有参数的数组,arguments.length属性报告传递给函数的参数数量。arguments.callee属性提供对函数本身的引用,该引用可用于递归调用函数表达式。

看下面代码:

package {
	import flash.display.Sprite;
	public class ArgumentsExample extends Sprite {
		public function ArgumentsExample() {
			trace(factorial(5));
			//输出:
			//120
		}
		private function factorial(x:uint):int {
			if (x == 0) {
				return 1;
			} else {
				return (x * arguments.callee(x - 1));
			}
		}
	}
}
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭