英文翻译
caller
n. 访客;[通信] 呼叫者;打电话者;召集员
- callee
-
- n. 被召者
caller
理解为指的是调用当前函数的函数,也就是调用者,如果没有其他函数调用的话就是null,举个栗子如果callerTest()是直接执行的函数,那么callerTest.caller===null,如果test()去调用callerTest(),那么callerTest.caller===test,具体可以看看下面这段代码
function callerTest(){ console.log(callerTest.caller); } function test(){ callerTest(); } test();//test callerTest();//null
callee
可以理解为当前执行的函数即被调用的函数,也就是被调用者,举个栗子如果calleeTest为当前执行的函数,那么arguments.callee===calleeTest,因此也就有了callee的一个应用,可以用于递归调用,虽然可以直接写为calleeTest,但是这样显然耦合度比较高,不利于代码维护,而如果写成arguments.callee的话就可以降低耦合度
代码
function calleeTest(){ console.log(calleeTest===arguments.callee); } function test(){ calleeTest(); } test();//true calleeTest();//true
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232510.html原文链接:https://javaforall.net
