例如,我有一些如下功能:
function Example() {
console.log('do something');
}
当我在谷歌浏览器中运行javascript控制台时,我可以看到类似的内容:
2 do something script_file.js
哎呀,我看到我的函数被调用了两次。我想找到调用我的函数Example()的事件或函数。我怎么能这样做?可能是浏览器插件存在,或者我对Chrome开发人员工具一无所知。
我只需要Chrome解决方案。
答案 0 :(得分:1)
您可以使用Function.caller。
function a() {
console.log(a.caller);
}
function b() {
a();
}
b(); // function b() { a(); }
或者您可以在chrome中使用profiler工具。开始录制,执行操作,停止录制,它将列出所有操作,从哪个文件调用函数等。我推荐这种方法。
答案 1 :(得分:0)
使用console.trace()
。您可以使用或不使用参数,它将在浏览器控制台中为您提供完整的堆栈跟踪。
您也可以将它与参数一起使用。
console.trace( this );
您还可以在代码中添加breakpoint并在调用时查看调用堆栈,甚至可以查看参数和变量值。
我希望这能回答你的问题。