使用Firebug或替代工具查找已定义JavaScript的位置

时间:2013-04-25 20:30:21

标签: javascript firebug google-chrome-devtools

我试图找到在呈现许多javascripts的站点上定义特定类/函数/对象的位置。在Firebug的“脚本”面板中,手动筛选脚本已被证明非常耗时。

在我继续走这条路之前,是否有更简单的方法使用现代前端开发工具来定位某些事物的定义?如果我有一些vim提供的ctags类型功能会很棒,但任何其他方法都会很棒。

2 个答案:

答案 0 :(得分:1)

Chrome已在所有来源中查找:

Windows上的CTRL-SHIFT-F和Mac上的CMD-OPT-F。

编辑:

你也可以在chrome中使用CMD-SHIFT-O(mac)CTRL-SHIFT-O(windows / linux)来按名称查找函数。

enter image description here

答案 1 :(得分:0)

AFAIK标准开发工具(Chrome调试器,Firebug等)都没有提供此功能。您可以通过在Chrome调试器中键入对象的名称来排序获取它,但这只会显示类似“Backbone.View.extend.extend.constructor”的内容。换句话说,它会向您显示最根构造函数,如果您的所有类都只有一个级别,那么这很好。如果不是,例如,如果A是B的子类,而B是C的子类,那么知道你的对象“a”来自C并没有多大帮助。

此外,即使它是你想要的,Chrome也不会告诉你在哪里找到构造函数,只是它的名字。我个人通过给所有对象一个_type属性(或属性,对于Backbone模型)来解决这个问题。这样我就可以简单地为模型键入myObject._type(或myObject.get('_type'),并知道我有什么样的对象。由于我为每个对象类型指定了一个唯一的名称,因此找到该构造函数所需的全部内容为grep