有没有办法自动知道谁在JS中调用了特定的函数?
假设我有以下代码:
function1() {
function2();
}
function2() {
console.log('the function who called me is ...' + <magic code here>);
}
当function1
调用function2
时,是否有任何神奇的方法可以让function2
知道function1
调用了它,而无需传递任何其他参数?
您可以使用function2.caller
.使用caller
属性可为您提供调用它的函数的详细信息。并进一步使用name
属性来获取调用函数的名称。
function function1(){
function2();
}
function function2() {
console.log('called by function' + function2.caller.name);
console.log('the function who called me is ...');
}
function1();