caller,英文:来访者。 简朴的说就是谁打电话给我,谁在挪用我。
callee,英文:被访者。简朴的说就是接电话的人,就是正在实行的函数。
caller是Function的属性
callee是argument的属性
测试caller的demo
function callerDemo() {
if (callerDemo.caller) {
var a = callerDemo.caller.toString();
alert(a);
} else {
alert("this is a top function");
}
}
function handleCaller() {
callerDemo();
}
handleCaller(); //"function handleCaller() { callerDemo();}"
测试callee的demo
function calleeDemo() {
alert(arguments.callee);
}
calleeDemo();//返回函数function calleeDemo() { alert(arguments.callee);}
ES5 提醒: 在严厉形式下,arguments.callee 会报错 TypeError,由于它已被废除了。