caller(誰調我)、callee(我是誰)

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,由於它已經被廢除了。
相關文章
相關標籤/搜索