arguments.callee 是返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文。
例子演示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript">
// 计算一个数的阶乘
function factorial(num)
{
if(num <= 1)
{
return 1;
}
return num * factorial(num - 1);
}
function newFactorial(num)
{
if (num <= 1)
{
return 1;
}
return num * arguments.callee(num - 1);
}
var x = newFactorial;
newFactorial = null;
alert(x(4)); //24
alert("你好!");
var y = factorial;
factorial = null;
alert(y(4)); //出错,下面将不会弹出 Hello World
alert("Hello World");
</script>
</head>
<body>
<h1>
练习 Javascript 中 arguments.callee 使用用法
</h1>
<div>
arguments.callee 是返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文。
</div>
</body>
</html>
谢谢浏览!