码迷,mamicode.com
首页 > 其他好文 > 详细

arguments对象的callee属性和caller属性

时间:2017-07-27 17:03:44      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:tar   16px   bsp   class   方法   logs   mos   调用   效果   

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属性

标签:tar   16px   bsp   class   方法   logs   mos   调用   效果   

原文地址:http://www.cnblogs.com/yaotome/p/7245755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!