caller
caller是函数的属性,返回一个函数的援用,这个函数调用了以后的函数。
特点
1 这个属性只有当函数在执行时才有用2 如果在javascript程序中,函数是由顶层调用的,则返回null
var a = function() { alert(a.caller); } var b = function() { a(); } b();
下面的代码中,b调用了a,那么a.caller返回的是b的援用
var a = function() { alert(a.caller); } var b = function() { a(); } //b(); a();
a在顶层调用,所以输入后果:null
callee
callee放回正在执行的函数自身的援用,它是arguments的一个属性
特单
1 这个属性只有在函数执行时才无效2 它有一个length属性,能够用来取得形参的个数,因而能够用来比拟形参和实参个数是否统一,即比拟arguments.length是否等于arguments.callee.length3 它能够用来递归匿名函数。
var a = function() { alert(arguments.callee); } var b = function() { a(); } b();
a在b中被调用,然而它返回了a自身的援用