Javascript 我如何搜索我的函数?

Javascript 我如何搜索我的函数?,javascript,google-chrome,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Devtools,例如,我有如下一些函数: function Example() { console.log('do something'); } 当我在Google Chrome中运行javascript控制台时,我可以看到如下内容: 2 do something script_file.js 哎呀,我看到我的函数被调用了两次。我想查找调用我的函数Example()的事件或函数。我怎么能做到?可能是浏览器插件存在,或者我对Chrome开发者工具一无所知

例如,我有如下一些函数:

function Example() {
    console.log('do something');
}
当我在Google Chrome中运行javascript控制台时,我可以看到如下内容:

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

我只需要铬的溶液。

您可以使用

或者您可以在chrome中使用profiler工具。开始录制、执行操作、停止录制,它将列出所有操作、来自哪个文件的函数调用等。我建议使用此方法。

使用
console.trace()
。您可以带参数或不带参数使用它,它将在浏览器控制台中为您提供完整的堆栈跟踪

您也可以将其用于参数

console.trace( this );
您还可以在代码中添加,并在调用时查看调用堆栈,甚至可以查看参数和变量值


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

如果您使用
console.error
而不是
console.log
,您应该在控制台中获得堆栈跟踪(单击黑色三角形查看)。这不是我的愿望。我想得到这样的结果:dosomething-script\u file.js(event.[HTMLObject].click),dosomething-script\u file.js(function PrintDoSomething())你看不到是什么事件导致了函数的执行,只能看到是什么函数调用了它。如果您想格式化自己的堆栈跟踪(就像您看起来那样),您需要自己解析堆栈跟踪<代码>新错误()。堆栈将为您提供字符串表示形式,您可以根据需要进行剪切。您写道:“您无法看到导致函数执行的事件”。也许有人会不同意你的意见让我修正一下。如果您使用的是jQuery事件(或其他库提供的事件),那么可以在上的
周围插入一个间谍,让您看到事件触发器。如果您使用的是本机事件,则不能这样做。您可以有一个附加的
addEventListener
,它可以在事件发生时记住事件类型,但不会连接到stacktrace。考虑到你的问题的措辞,我坚持使用“不能”。这是一个有趣的解决方案,但在我想要调试的所有函数中添加调用者函数是很难看的。可能存在一些chrome开发工具的扩展来获取调用方。
console.trace( this );