首页 文章

在Chrome中查找JavaScript函数定义

提问于
浏览
246

Chrome的开发者工具摇滚,但他们似乎没有(我能找到的)一种方法是找到JavaScript函数的定义 . 这对我来说非常方便,因为我正在开发一个包含许多外部JS文件的站点 . 当然grep解决了这个问题,但在浏览器中会好得多 . 我的意思是,浏览器必须知道这一点,为什么不暴露它呢?我的期望是这样的:

  • 从页面中选择'Inspect Element',这会突出显示“元素”选项卡中的行

  • 右键单击该行并选择'Go to function definition'

  • 在Scripts选项卡中加载了正确的脚本,它会跳转到函数定义

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

如果它没有't, I'猜测这将来自WebKit,但找不到Developer Tool feature requestsWebKit's Bugzilla的任何内容 .

8 回答

  • 70

    让我们说我们正在寻找名为 foo 的函数:

    • (打开Chrome开发工具),

    • Windows:ctrl shift F或macOS:cmd optn F.这将打开一个用于搜索所有脚本的窗口 .

    • 勾选"Regular expression"复选框,

    • 搜索 foo\s=\sfunction** (搜索 foo = function ,这三个标记之间有任意数量的空格),

    • 按下返回的结果 .

    函数定义的另一个变体是 function\sfoo\s( for function foo( ,在这三个标记之间有任意数量的空格 .

  • 0

    这个landed in Chrome on 2012-08-26不确定确切的版本,我在Chrome 24中注意到了它 .

    屏幕截图 Value 一百万字:
    enter image description here

    我正在使用Console中的方法检查对象 . 单击"Show function definition"将我带到源代码中定义函数的位置 . 或者我可以将鼠标悬停在 function () { 单词上以查看工具提示中的函数体 . 你可以像这样轻松检查整个原型链! CDT绝对摇滚!

    希望大家都觉得有用!

  • 15

    您可以通过在控制台中评估它的名称来打印该功能,就像这样

    > unknownFunc
    function unknownFunc(unknown) {
        alert('unknown seems to be ' + unknown);
    }
    

    这不适用于内置函数,它们只显示 [native code] 而不是源代码 .

    EDIT :这意味着该函数已在当前范围内定义 .

  • 44

    2016 Update :在Chrome版本51.0.2704.103中

    有一个 Go to member 快捷方式(在 settings > shortcut > Text Editor 中列出) . 打开包含您的函数的文件(在DevTools的 sources 面板中),然后按:

    ctrl shift O.

    或在OS X中:

    ⌘转移O.

    这样可以列出并覆盖当前文件的成员 .

  • 3

    导航到函数定义位置的另一种方法是在调试器中断,您可以访问该函数并在控制台中输入函数完全限定名称 . 这将在控制台中打印函数定义,并提供一个链接,在单击时打开定义函数的脚本位置 .

  • 332

    不同浏览器的做法不同 .

    • 首先打开控制台窗口,右键单击页面并选择"Inspect Element",或点击F12 .

    • 在控制台中,键入...

    • Firefox

    functionName.toSource()
    
    • Chrome
    functionName
    
  • 27

    我发现找到全局函数的最快方法就是:

    • 选择 Sources 标签 .

    • Watch 窗格中单击 + 并键入 window

    • 您的全局函数引用按字母顺序排在第一位 .

    • 右键单击您感兴趣的功能 .

    • 在弹出菜单中选择 Show function definition .

    • 源代码窗格切换到该函数定义 .

  • 16

    在Chrome控制台中:

    debug(MyFunction)
    MyFunction()
    

相关问题