arguments对象的callee属性和caller属性
Posted 寻找薛定谔的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arguments对象的callee属性和caller属性相关的知识,希望对你有一定的参考价值。
js中的arguments对象代表正在执行的函数和调用它的函数的参数。arguments对象有两个属性,callee和caller。collee表示当前正在执行的方法,caller表示调用该方法的对象,如果函数是顶层调用的,则caller值为null。这两个属性可以用在以下情形:
1、方法的链式调用
(function(o){ alert(o); return arguments.callee; })("第一次调用")("第二次调用")("第三次调用");
2、递归调用
var result = (function(n) { if (n <=1) return 1; else return n + arguments.callee(n - 1); })(100); alert(result);
3、获取方法信息
var func = function(){ //打印方法体 alert(arguments.callee); //打印方法名 func alert(arguments.callee.name); //打印调用方法体 alert(arguments.callee.caller); //打印调用方法名 callfunc alert(arguments.callee.caller.name); }; function callfunc(){ func(); } callfunc();
以上是关于arguments对象的callee属性和caller属性的主要内容,如果未能解决你的问题,请参考以下文章