Chrome的开发者工具很棒,但有一件事他们似乎没有(我能找到的),那就是找到JavaScript函数定义的方法。这对我来说非常方便,因为我正在一个包含许多外部JS文件的网站上工作。当然,grep解决了这个问题,但在浏览器中会更好。我的意思是,浏览器必须知道这个,所以为什么不公开它呢?我所期待的是:

从页面中选择“Inspect Element”,将突出显示元素选项卡中的行 右键单击该行并选择“Go to function definition” 在Scripts选项卡中加载正确的脚本,并跳转到函数定义

首先,这个功能是否存在,而我只是错过了它?

如果它没有,我猜这将来自WebKit,但找不到任何开发者工具功能请求或WebKit的Bugzilla。


当前回答

这在2012-08-26登陆Chrome 不确定确切的版本,我注意到它在Chrome 24。

一张截图值一百万字:

我正在检查一个对象的方法在控制台中。点击“显示函数定义”将我带到源代码中定义函数的地方。或者我可以将鼠标悬停在function () {word上,在工具提示中查看函数体。你可以像这样轻松地检查整个原型链!CDT绝对摇滚!!

希望对大家有帮助!

其他回答

2016年更新:Chrome版本51.0.2704.103

有一个转到成员的快捷方式(在设置>快捷方式>文本编辑器中列出)。打开包含你的函数的文件(在DevTools的源代码面板中),然后按:

ctrl + shift + O

或者在OS X中:

⌘+ shift + O

这样就可以列出和访问当前文件的成员。

假设我们正在寻找一个名为foo的函数:

(打开Chrome dev-tools), Windows: ctrl + shift + F, macOS: cmd + optn + F.打开一个搜索所有脚本的窗口。 选中“正则表达式”复选框, 搜索foo\s*=\s*函数(搜索在这三个标记之间有任意数量空格的foo =函数), 按返回的结果。

函数定义的另一种变体是function\s*foo\s*\(用于函数foo(,在这三个标记之间有任意数量的空格。

在Chrome控制台:

debug(MyFunction)
MyFunction()

如果你已经在调试,你可以将鼠标悬停在函数上,工具提示将允许你直接导航到函数定义:

进一步阅读:

Chrome DevTools > JavaScript调试参考

这在2012-08-26登陆Chrome 不确定确切的版本,我注意到它在Chrome 24。

一张截图值一百万字:

我正在检查一个对象的方法在控制台中。点击“显示函数定义”将我带到源代码中定义函数的地方。或者我可以将鼠标悬停在function () {word上,在工具提示中查看函数体。你可以像这样轻松地检查整个原型链!CDT绝对摇滚!!

希望对大家有帮助!