arguments.callee在递归函数中的用法
来源:互联网 发布:d3.v3.min.js引用 编辑:程序博客网 时间:2024/05/01 12:10
arguments.callee是一个指向正在执行的函数的指针。在递归函数中可以如此用:
function abc(num){
if(num<=1){
return 1;
}else{
retrun num*arguments.callee(num-1); //这里arguments.callee代替了原有的函数名abc
}
}
这种用法的好处是如果出现如下情况,不会导致错误
将函数abc赋值给一个变量:
function abc(num){
if(num<=1){
return 1;
}else{
retrun num*abc(num-1);
}
}
var ABC=abc;
abc=null;
alert(ABC(4));//这里会报错。因为abc已经为null,虽然abc之前已经赋值给了ABC,但在进行内部递归调用时,仍然需要用到abc(num-1),因此会报错。
上述方法在严格模式下不能通过脚本访问,所以可以使用命名表达式来达成相同结果
var abc=(function f(num){
if(num<=1){
return 1;
}else{
return num*f(num-1);
}
})
这种方式无论将abc赋给什么变量,即便另abc=null,函数名f仍然有效。
0 0
- arguments.callee在递归函数中的用法
- js中arguments.callee在递归函数中的妙用
- 递归函数定义 arguments.callee
- Javascript 函数中的arguments.callee
- arguments.callee 递归调用
- arguments.callee与递归
- arguments.callee用法
- JavaScript-Arguments.callee 函数
- javascript 中的arguments.callee
- javascript的函数arguments属性和callee调用递归
- JavaScript中的arguments,callee,caller,call,appy的用法
- arguments.callee,anguments.callee.caller用法
- 函数内部属性[arguments.callee]
- JavaScript中的arguments,callee,caller
- JavaScript中的arguments、caller、callee
- 使用arguments.callee来避免递归出错
- JS中arguments.callee用法及属性
- arguments&&callee
- onclicklistener到底怎么用?
- 练习算法的地方
- MySQL
- java多线程总结
- JavaWeb集成百度UMEditor详细操作(实现上传图片)+demo源码
- arguments.callee在递归函数中的用法
- iOS转屏
- servlet映射
- 让linux系统识别ntfs分区
- 导出备份sql 文件中的某个表数据
- 叶小天的功课忙了许多
- 面汤增强记忆 菜汤抗污染
- 经济,商科与金融的区别
- NYOJ 106 背包问题