3

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,因为它已经被废除了。

rudyfd
2k 声望111 粉丝

下一篇 »
雪碧图的生成