javascript的递归调用 特殊指针arguments.callee
2014-11-23 21:05
405 查看
/**
* Created by jack on 14-11-23.
*/
/*
javascript的递归调用
*/
function factorial(num)
{
if(num<1){
return 1;
}else{
return num*factorial(num-1);
}
}
/*
这段会报错执行不了,
var anotherFactorial = factorial;
factorial=null;
alert(anotherFactorial(4));
以上代码把factorial保存在变量anotherFactorial中,然后factorial设置为null,结果指向原始函数的引用只剩下一个,
但接下来调用anotherFactorial时,由于必须执行factorial,而factorial已经不再是函数,所以就导致了错误.
arguments.callee可以解决这个问题,arguments.callee是一个指向正在执行的函数的指针。
*/
function factorial(num)
{
if(num<1){
return 1;
}else{
return num*arguments.callee(num-1);
}
}
var anotherFactorial=factorial;
factorial=null;
alert(anotherFactorial(4));
* Created by jack on 14-11-23.
*/
/*
javascript的递归调用
*/
function factorial(num)
{
if(num<1){
return 1;
}else{
return num*factorial(num-1);
}
}
/*
这段会报错执行不了,
var anotherFactorial = factorial;
factorial=null;
alert(anotherFactorial(4));
以上代码把factorial保存在变量anotherFactorial中,然后factorial设置为null,结果指向原始函数的引用只剩下一个,
但接下来调用anotherFactorial时,由于必须执行factorial,而factorial已经不再是函数,所以就导致了错误.
arguments.callee可以解决这个问题,arguments.callee是一个指向正在执行的函数的指针。
*/
function factorial(num)
{
if(num<1){
return 1;
}else{
return num*arguments.callee(num-1);
}
}
var anotherFactorial=factorial;
factorial=null;
alert(anotherFactorial(4));
相关文章推荐
- javascript的函数arguments属性和callee调用递归
- JavaScript——递归调用使用arguments.callee
- JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法
- [Javascript] arguments.callee.caller(如何知道到函数被谁调用了)
- JavaScript Arguments 实现可变参数的函数,以及函数的递归调用
- JavaScript arguments.callee(arg)可以代理调用实现解耦和
- javascript 的函数调用过程中的arguments,callee,caller,apply,call
- JavaScript中的arguments,callee,caller
- JavaScript arguments,callee,caller,call,appy
- [zz]javascript的arguments,caller,callee,call,apply样例及理解
- javascript中关于arguments与callee的理解
- JavaScript中的arguments,callee,caller,call,appy
- JavaScript中的arguments,callee,caller,call,appy
- javascript的caller,callee,call,apply以及arguments
- JavaScript中的arguments,callee,caller,call,appy
- 通过实例理解JavaScript中的arguments,call,apply,callee及caller
- JavaScript中的arguments,callee,caller,call,appy
- 理解javascript中arguments,callee,caller
- 【转】全面理解javascript的arguments,callee,caller,call,apply概念(修改版)
- 理解javascript中arguments,callee,caller