Chrome的开发者工具摇滚,但他们似乎没有(我能找到的)一种方法是找到JavaScript函数的定义 . 这对我来说非常方便,因为我正在开发一个包含许多外部JS文件的站点 . 当然grep解决了这个问题,但在浏览器中会好得多 . 我的意思是,浏览器必须知道这一点,为什么不暴露它呢?我的期望是这样的:
-
从页面中选择'Inspect Element',这会突出显示“元素”选项卡中的行
-
右键单击该行并选择'Go to function definition'
-
在Scripts选项卡中加载了正确的脚本,它会跳转到函数定义
首先,这个功能是否存在,我只是错过了它?
如果它没有't, I'猜测这将来自WebKit,但找不到Developer Tool feature requests或WebKit's Bugzilla的任何内容 .
8 回答
让我们说我们正在寻找名为 foo 的函数:
(打开Chrome开发工具),
Windows:ctrl shift F或macOS:cmd optn F.这将打开一个用于搜索所有脚本的窗口 .
勾选"Regular expression"复选框,
搜索 foo\s=\sfunction** (搜索
foo = function
,这三个标记之间有任意数量的空格),按下返回的结果 .
函数定义的另一个变体是 function\sfoo\s( for
function foo(
,在这三个标记之间有任意数量的空格 .这个landed in Chrome on 2012-08-26不确定确切的版本,我在Chrome 24中注意到了它 .
屏幕截图 Value 一百万字:
我正在使用Console中的方法检查对象 . 单击"Show function definition"将我带到源代码中定义函数的位置 . 或者我可以将鼠标悬停在
function () {
单词上以查看工具提示中的函数体 . 你可以像这样轻松检查整个原型链! CDT绝对摇滚!希望大家都觉得有用!
您可以通过在控制台中评估它的名称来打印该功能,就像这样
这不适用于内置函数,它们只显示
[native code]
而不是源代码 .EDIT :这意味着该函数已在当前范围内定义 .
2016 Update :在Chrome版本51.0.2704.103中
有一个
Go to member
快捷方式(在settings > shortcut > Text Editor
中列出) . 打开包含您的函数的文件(在DevTools的sources
面板中),然后按:或在OS X中:
这样可以列出并覆盖当前文件的成员 .
导航到函数定义位置的另一种方法是在调试器中断,您可以访问该函数并在控制台中输入函数完全限定名称 . 这将在控制台中打印函数定义,并提供一个链接,在单击时打开定义函数的脚本位置 .
不同浏览器的做法不同 .
首先打开控制台窗口,右键单击页面并选择"Inspect Element",或点击F12 .
在控制台中,键入...
Firefox
我发现找到全局函数的最快方法就是:
选择 Sources 标签 .
在 Watch 窗格中单击 + 并键入 window
您的全局函数引用按字母顺序排在第一位 .
右键单击您感兴趣的功能 .
在弹出菜单中选择 Show function definition .
源代码窗格切换到该函数定义 .
在Chrome控制台中: