caller,英文:来访者。 简单的说就是谁打电话给我,谁在调用我。函数
callee,英文:被访者。简单的说就是接电话的人,就是正在执行的函数。测试
caller是Function的属性 callee是argument的属性
测试caller的demothis
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的democode
function calleeDemo() { alert(arguments.callee); } calleeDemo();//返回函数function calleeDemo() { alert(arguments.callee);}
ES5 提示: 在严格模式下,arguments.callee 会报错 TypeError,由于它已经被废除了。