arguments對象的callee屬性和caller屬性
阿新 • • 發佈:2017-07-27
獲取 call 兩個 cal 屬性 參數 cnblogs () lee
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屬性