我怎么能搜索什么叫我的功能?

时间:2014-10-30 05:42:24

标签: javascript google-chrome google-chrome-devtools

例如,我有一些如下功能:

function Example() {
    console.log('do something');
}

当我在谷歌浏览器中运行javascript控制台时,我可以看到类似的内容:

2 do something                        script_file.js

哎呀,我看到我的函数被调用了两次。我想找到调用我的函数Example()的事件或函数。我怎么能这样做?可能是浏览器插件存在,或者我对Chrome开发人员工具一无所知。

我只需要Chrome解决方案。

2 个答案:

答案 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并在调用时查看调用堆栈,甚至可以查看参数和变量值。

我希望这能回答你的问题。