您的位置:首页 > Web前端 > JavaScript

Javascript 函数中的arguments.callee

2013-06-24 17:04 369 查看
<!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">

//方法1,这种方法当函数名fac指向新的函数后,就不能实现递归阶乘了

// function fac(num) {

// if (num <= 1) {

// return 1;

// }

// else {

// return num * fac(num - 1);

// }

//方法2

function fac(num) {

if (num <= 1) {

return 1;

}

else {

return num * arguments.callee(num - 1); //arguments.callee表示当前方法的引用

}

}

window.onload = function () {

var func = fac;

fac = function () { //指向新的函数

return 1;

}

alert(func(5)); //使用方法一将输出5,使用方法二将输出5的阶乘值

alert(fac(5)); //输出1

}

</script>

</head>

<body>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: