1.arguments.callee
返回正在执行的函数本身的引用,是arguments的一个属性。
当函数的名称未知时,例如匿名函数,使用callee很有用
用来代替函数名,降低耦合性
注:
这个属性只有在函数执行时才有效
它有一个length属性,可以用来获得形参的个数,因此可以用来比较形参和实参个数是否一致,即比较arguments.length是否等于arguments.callee.length
它可以用来递归匿名函数。
2.Function.caller
返回调用指定函数的函数
如果一个函数f
是在全局作用域内被调用的,则f.caller为
null
,相反,如果一个函数是在另外一个函数作用域内被调用的,则f.caller指向调用它的那个函数.
该属性的常用形式arguments.callee.caller
替代了被废弃的 arguments.caller
.