在Javascript中跟踪方法调用的最佳方法

时间:2013-06-17 08:11:56

标签: javascript

我是JavaScript的初学者,现在我得到了一个大量使用Javascript的项目。在大多数JS文件中,它将包含以下格式的语句:

 Jebber.Ajax.enqueueAction(smsType, true, options, callback);

我熟悉Java,所以我假设可能有一些导入或某事。在文件的顶部,但没有任何,并且没有“Jebber”变量的明确定义。所以我很好奇这个Jebber变量来自哪里。我使用Eclipse编辑JavaScript文件,似乎F3无法检索方法的定义。

所以我有点卡在这里:专家可以教我一个很好的方法来浏览大量的JavaScript文件来找到变量/函数等的定义吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用JS Object setters执行此操作:

Object.defineProperty(window, 'Jebber', {
    set: function() {
        debugger;
    },
    get: function() {} 
});

当某些内容被分配给全局Jebber变量时,您将在js调试器中获得中断(例如,使用chrome dev工具中的那个)

现场演示:http://jsfiddle.net/XtZkJ/

打开调试器并查看堆栈跟踪 - 它将指向变量修改的确切行。

答案 1 :(得分:0)

“导入”将是 HTML 文件中的<script>个标记,而不是脚本文件。