如何知道在JavaScript中调用了另一个函数?

如何知道在JavaScript中调用了另一个函数?,javascript,ecmascript-6,Javascript,Ecmascript 6,有没有办法自动知道谁在JS中调用了特定函数 假设我有以下代码: function1() { function2(); } function2() { console.log('the function who called me is ...' + <magic code here>); } function1(){ 函数2(); } 职能2(){ log('调用我的函数是…'+); } 当function1调用function2时,function2是否有任何神奇的方法知道f

有没有办法自动知道谁在JS中调用了特定函数

假设我有以下代码:

function1() {
function2();
}

function2() {
console.log('the function who called me is ...' + <magic code here>);
}
function1(){
函数2();
}
职能2(){
log('调用我的函数是…'+);
}

function1
调用
function2
时,
function2
是否有任何神奇的方法知道
function1
调用了它,而不需要传递任何附加参数?

您可以使用
function2.caller
。使用
caller
属性可以提供调用它的函数的详细信息。并进一步使用
name
属性获取调用函数的名称

函数function1(){
函数2();
}
函数function2(){
console.log('由函数调用'+函数2.caller.name);
log('调用我的函数是…');
}

功能1()这难道不会致命地破坏将功能分解为单个功能的整个要点吗?可能重复:请不要回答重复的问题。